【问题标题】:How can I get the rails/coffee-rails gem to use the latest coffee-script compiler如何让 rails/coffee-rails gem 使用最新的咖啡脚本编译器
【发布时间】:2014-03-27 12:06:01
【问题描述】:

我的咖啡脚本包含对对象的链式调用,在使用最新的编译器(手动)时可以正确编译,但在资产管道中使用 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'
}));

【问题讨论】:

标签: ruby-on-rails coffeescript asset-pipeline


【解决方案1】:

经过一番挖掘,我设法通过升级 coffee-script-source gem 解决了这个问题。事实证明,rails/coffee-rails gem 只是让底层的 coffee-script 和 coffee-script-source 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

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 2014-12-12
    • 2011-11-08
    • 1970-01-01
    • 2012-12-19
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多