处理这个问题的正确方法是什么?
"Hi %s, today is %s so you get 10% OFF!" % ['Joe', 'Monday']
# => ArgumentError: malformed format string - %O
Run Code Online (Sandbox Code Playgroud)
我不能使用普通%{keyname}
或者#{code}
因为我正在为网址解析字符串并将其剥离,所以我可以用不同的格式(有/无协议,缩短,全长等)将它们粘在一起.所以替换的数量是未知的,他们没有名字.它们只是一系列网址.
我也试过逃避%
:
"Hi %s, today is %s so you get 10\% OFF!" % ['Joe', 'Monday']
# => ArgumentError: malformed format string - %O
Run Code Online (Sandbox Code Playgroud)
但得到完全相同的结果.
当我运行heroku local
或当我在npm start
本地执行时,我的应用程序构建并运行良好.但是,当我部署到heroku时,应用程序崩溃,说它无法找到babel-node.
这是日志输出:
2016-04-21T22:20:44.320025+00:00 heroku[api]: Deploy 5d9a9da by eagsalazar@gmail.com
2016-04-21T22:20:44.320084+00:00 heroku[api]: Release v9 created by eagsalazar@gmail.com
2016-04-21T22:20:44.542062+00:00 heroku[slug-compiler]: Slug compilation started
2016-04-21T22:20:44.542069+00:00 heroku[slug-compiler]: Slug compilation finished
2016-04-21T22:20:44.501025+00:00 heroku[web.1]: State changed from crashed to starting
2016-04-21T22:20:46.278065+00:00 heroku[web.1]: Starting process with command `npm start`
2016-04-21T22:20:50.467407+00:00 app[web.1]:
2016-04-21T22:20:50.467434+00:00 app[web.1]: > qc-server@1.0.0 start /app
2016-04-21T22:20:50.467435+00:00 app[web.1]: > babel-node index.js
2016-04-21T22:20:50.467436+00:00 app[web.1]:
2016-04-21T22:20:50.479490+00:00 app[web.1]: sh: 1: babel-node: not found
2016-04-21T22:20:50.521936+00:00 app[web.1]:
2016-04-21T22:20:50.538822+00:00 app[web.1]: npm ERR! Linux 3.13.0-79-generic
2016-04-21T22:20:50.539334+00:00 app[web.1]: npm …
Run Code Online (Sandbox Code Playgroud) 我们正在使用FileReader
从iPhone上拍摄的照片到浏览器中获取图像.然后我们用drawImage()
它将图像绘制到canvas
.问题是在iPhone显示屏上拍摄的照片在页面上旋转.我们无法在任何Android设备上重现这一点.
我们可以canvas
很容易地旋转图像,但我们如何确定所需的旋转?我们尝试了一些用于JavaScript的EXIF读取库(exif.js)但无法成功读取方向.
有了这些型号:
class Week
has_many :proofs
end
class Proof
belongs_to :week
end
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
Week.where(:proof.count.gt => 0)
Run Code Online (Sandbox Code Playgroud)
仅查找具有多个证明的周数.
有一个答案似乎可以解决这个问题:
但是在这个例子中,由于ids与证明一起存储,因此在周中没有诸如proof_ids之类的属性.这不适用于例如:
Week.where(:proof_ids.gt => 0)
Run Code Online (Sandbox Code Playgroud)
这个查询怎么可能?概念上很简单,但我无法弄清楚如何用mongo或mongoid做到这一点.
同样,我想按照证明的数量排序,例如:
Week.desc(:proofs.size)
Run Code Online (Sandbox Code Playgroud)
但这也行不通.
我确实意识到反缓存是我的两个具体问题的选项,但我也希望能够进行查询.
在此先感谢您的帮助.
我在我的.text.haml邮件程序模板中使用i18n,我想在en.yml中有一个带换行符的字符串但是t()总是转义它们,即使我使用html_safe或后缀为_html的键名.
有没有办法做到这一点??
p3_html: >
You love monkeys:
\n- You look like one
\n- Your smell like one
\n- Your account has been flagged
Run Code Online (Sandbox Code Playgroud)
在我的html.haml模板中:
!= t('emails.post.twitter_forbidden.p3_html').html_safe
Run Code Online (Sandbox Code Playgroud)
无论什么被逃脱.我不能使用%br或其他任何东西,因为这些是文本模板.我知道我可以将它分成4个i18n字符串,但那真的很难过.
顺便说一句,我检查过,它是i18n逃避,而不是haml.
我知道正常的迁移我可以做rename_table但是在mongoid我不能确定如何继续.
我已将所有模型/关系/路由/控制器/等都重命名,但我只需要知道如何移动数据本身.
这是嵌入式embeds_one文件btw.
更新:
看起来简单地做:
Model.all.each {|m| m.rename :old_embedded_association_name, :new_embedded_association_name }
Run Code Online (Sandbox Code Playgroud)
作品.听起来很健康吗?
我正在尝试使用libfluidsynth和ruby ffi,需要迭代声音来获取所有乐器.具体来说,_fluid_sfont_t结构具有我需要调用的iteration_start和iteration_next引用:
http://fluidsynth.sourceforge.net/api/struct__fluid__sfont__t.html
void (*iteration_start)(fluid_sfont_t* sfont);
Run Code Online (Sandbox Code Playgroud)
我在ffi/ffi文档中看到如何引用结构的成员,其中这些成员是普通类型,我看到如何在C中设置回调以指向ruby Procs.但是我需要调用一个结构上的函数指针引用的函数.
如何才能做到这一点?
我存储了用户在 AWS S3 上上传的图像。当用户在浏览器中查看这些图像时,他们有指向我的应用程序的 url,我在那里使用 s3.getSignedUrl 重定向到一个临时签名的 url。99% 的情况下,一切都很好。
问题是,用户偶尔会上传文件名中包含逗号的图像。当他们然后尝试在 Chrome(并且只有 chrome)中查看该图像时,我收到此错误
net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION
Run Code Online (Sandbox Code Playgroud)
我发现这是逗号,因为其他几个人也有类似的问题,他们通过设置 content-disposition 标头解决了这个问题。
使用 s3 和getSignedUrl,我认为这可以通过在 params 参数中设置 ReponseContentDisposition 属性来完成。具体的解决方法是在内容处置中正确引用文件名,或者只是将文件名设置为根本不包含逗号的其他内容。
然而,那个计划对我不起作用。有人对我可能出错的细节有任何想法吗?
我的服务器是 Node.js。这是执行重定向的 js(就像我说的通常效果很好)
function tempRedirect(req, res) {
var filename = req.params[0];
var params = {
Bucket: S3_BUCKET,
ResponseContentDisposition: 'inline; filename=' + filename.replace(/,/, '_'),
Key: checkTrailingSlash(getFileKeyDir(req)) + filename
};
var s3 = new aws.S3(s3Options);
s3.getSignedUrl('getObject', params, function(err, url) {
res.redirect(url);
});
};
Run Code Online (Sandbox Code Playgroud) 我成功生成了一个签名的URL,然后可以在有限的时间内使用该URL从s3存储桶下载资源。但是,我试图在params中使用ResponseContentDisposition属性,如此处所述:
我不确定我是否做错了,但是由于某些原因没有设置标题。例如,如果我使用url,则从s3.getSignedUrl中获取:
curl -i "https://foo-dev.s3.amazonaws.com/images/foo.jpg?AWSAccessKeyId=AKIAICBHUC26S6B446PQ&Expires=1468359314&Signature=EeBqx1G83oeusarBl2KUbbCCBgA%3D&response-content-disposition=attachment%3B%20filename%3Ddata.jpg"
标头是:
x-amz-id-2: SG9rjYQCcuqgKfjBmMbDQC2CNLcnqBAFzP7zINa99VYUwNijPOm5Ea/5fllZ6cnt/Qti7e26hbE=
x-amz-request-id: 2670068008525B1D
Date: Tue, 12 Jul 2016 21:26:16 GMT
Content-Disposition: inline; filename=foo.jpg
Last-Modified: Tue, 12 Jul 2016 00:47:23 GMT
ETag: "2a8e36651b24769170f4faa429f40f54"
Accept-Ranges: bytes
Content-Type: image/jpeg
Content-Length: 43373
Server: AmazonS3
Run Code Online (Sandbox Code Playgroud)
我使用这样的javascript s3 sdk进行设置:
function tempRedirect(req, res) {
var filename = req.params[0];
var contentDisposition = 'attachment; filename=data.jpg';
var params = {
Bucket: S3_BUCKET,
ResponseContentDisposition: contentDisposition,
Key: checkTrailingSlash(getFileKeyDir(req)) + filename
};
var s3 = new aws.S3(s3Options);
s3.getSignedUrl('getObject', params, function(err, url) {
res.redirect(url);
}); …
Run Code Online (Sandbox Code Playgroud) 从app/javascript/packs/application.js
我正在尝试import "../foo"
文件的位置foo.js.erb
.Webpacker和yarn适用于application.js中的其他导入,例如import "../bar"
当该文件存在bar.js
但是如果我尝试使用.js.erb
文件时,我从webpack-dev-server获得此错误:
ERROR in ./app/javascript/packs/application.js
Module not found: Error: Can't resolve '../foo' in '/Users/blah/backlot/projects/test/app/javascript/packs'
@ ./app/javascript/packs/application.js 3:0-27
@ multi (webpack)-dev-server/client?http://localhost:8080 ./app/javascript/packs/application.js
Run Code Online (Sandbox Code Playgroud)
我确实安装了rails-erb-loader,如果我查看webpacker配置,那么erb加载器正在评估并且看起来对我来说虽然我没有触及任何其他的,除了运行rails webpacker:install
生成该配置.
我想做这个:
class Parent {
static myMethod1(msg) {
// myMethod2 is undefined
this.constructor.myMethod2(msg);
}
}
class Child extends Parent {
static myMethod2(msg) {
console.log('static', msg);
}
}
Child.myMethod1(1);
Run Code Online (Sandbox Code Playgroud)
但这不起作用。这可以通过其他方式实现吗?我不想在 Parent 中对 Child.myMethod2 进行硬编码,我知道这会起作用,因为我希望随机子类能够定义/覆盖静态方法,但在不事先知道哪个类是子类的情况下从父类调用该方法。
我有一个 BTLE 设备,它向我发送字节,其中一些我需要组成一个 32 位有符号整数,移位,然后解释。我正在使用 xcode 6.1。
我遇到的问题是简单地使用 sscanf 将字节转换为 int32_t ,这有时有效,有时无效。我不是 obj-c 专家,不确定这是否是正确的方法,我使用的 strtol 同样不起作用。
整个功能如下:
- (double) parseMV2: (NSData*) data {
NSData* slicedData = [data subdataWithRange:NSMakeRange(2, 4)];
const char *bytes = [slicedData bytes];
int32_t value;
double mV = 0;
int sscanf_result = sscanf(bytes, "%4x", &value);
if (1 == sscanf_result) {
value <<= 3; // discard the 3 most significant bits as they are not part of the value this also brings the sign bit to the most significant …
Run Code Online (Sandbox Code Playgroud) node.js ×3
ruby ×3
amazon-s3 ×2
javascript ×2
mongoid ×2
bit-shift ×1
canvas ×1
ecmascript-6 ×1
es6-class ×1
ffi ×1
haml ×1
has-many ×1
heroku ×1
html5-canvas ×1
http-headers ×1
ios ×1
iphone ×1
objective-c ×1
package.json ×1
ruby-ffi ×1
scanf ×1
webpacker ×1