我的咖啡脚本包含对对象的链式调用,这些调用在使用最新的编译器(手动)时正确编译,但在使用资产管道中的rails/咖啡脚本工具时无法正确编译。
绕开这件事最好的办法是什么?最好让它使用最新的咖啡编译器。
下面是我的咖啡脚本示例,带有链式调用
// coffeescript
someObject
.chainedMethod 'home', {
paramA: 'a'
paramB: 'b'
}
.chainedMethod 'signin', {
paramA: 'xx'
paramB: 'yy'
controller: 'SignInController'
}
正确编译后,如下所示:
// javascript
someObject.chainedMethod('home', {
paramA: 'a',
paramB: 'b'
}).chainedMethod('signin', {
paramA: 'xx',
paramB: 'yy',
controller: 'SignInController'
});
Rails 4.0资产管道产生以下内容:
// buggy javascript
someObject.chainedMethod('home', {
paramA: 'a',
paramB: 'b'
}.chainedMethod('signin', {
paramA: 'xx',
paramB: 'yy',
controller: 'SignInController'
}));
发布于 2014-02-25 16:21:45
经过一番探索,我设法通过升级咖啡脚本源宝石来解决这个问题。结果是rails/咖啡-rails宝石只是简单地让底层的咖啡脚本和咖啡脚本源宝石来完成真正的工作。咖啡脚本源宝石与http://coffeescript.org/上的最新源代码保持同步。
运行bundle update coffee-script-source
获取最新的rails服务器并重新启动rails服务器解决了这个问题。
下面是修复后的gem版本。
coffee-script-source-1.7.0
coffee-script-2.2.0
coffee-rails-4.0.1
https://stackoverflow.com/questions/22011285
复制相似问题