我的咖啡脚本包含对对象的链式调用,在使用最新的编译器(手动)时可以正确编译,但在资产管道中使用rails / coffee-script工具时无法正确编译。
解决这个问题的最佳方法是什么?最好让它使用最新的咖啡编译器。
以下是我的咖啡脚本示例,带有链接的电话
// 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'
}));
答案 0 :(得分:0)
经过一番挖掘,我设法通过升级coffee-script-source gem来解决这个问题。事实证明,rails / coffee-rails gem只是让底层咖啡脚本和咖啡脚本源宝石完成真正的工作。 coffee-script-source gem与http://coffeescript.org/
上的最新资源保持同步运行bundle update coffee-script-source
以获取最新版本并重新启动rails服务器解决了这个问题。
以下是修复后的gem版本。
coffee-script-source-1.7.0
coffee-script-2.2.0
coffee-rails-4.0.1