CoffeeScript 未在 Rails 3.1 中更新

Posted

技术标签:

【中文标题】CoffeeScript 未在 Rails 3.1 中更新【英文标题】:CoffeeScript not updating in Rails 3.1 【发布时间】:2012-06-05 07:29:18 【问题描述】:

我正在开发一个使用 CoffeeScript 的 Rails 3.1 应用程序。作为一名新的 Rails 开发人员,我一直在对一些配置进行更改,以尝试充分利用资产管道和 Heroku。

但是,我现在的情况是,无论我对 app/assets/javascripts/*.js.coffee 文件进行什么更改,本地 Rails 开发服务器都拒绝接收这些更改并重新编译应用程序。我可以触发重新编译 .js.coffee 文件的唯一方法是停止 WEBrick 并重新启动它。

不过,这个问题似乎不会影响我对 Heroku 的推送。那些似乎重新编译就好了。

关于我的设置的一些细节:

我不使用 rake assets:precompile 在本地编译资产。相反,我使用here 描述的“#2 在 slug 编译期间编译资产”方法。

我的 Gemfile 的相关部分如下所示:

宝石'导轨','3.2.3' 宝石“耙子”,“0.9.2.2” gem 'activesupport', '~> 3.2.3' 宝石'json' 组:资产做 gem 'sass-rails', '~> 3.2.3' 宝石'咖啡轨','〜> 3.2.1' .. 结尾

我的 config/environments/development.rb 有这些相关的(我认为)行。如果这里的某些东西看起来很奇怪,我真的不记得为什么要进行更改(尽管也许我在我的 SCM 中记录了一些内容)。

config.consider_all_requests_local = true config.action_controller.perform_caching = false # 将弃用通知打印到 Rails 记录器 config.active_support.deprecation = :log # 只使用浏览器内置的最佳标准支持 config.action_dispatch.best_standards_support = :builtin # 不压缩资源 config.assets.compress = false # 扩展加载资源的行 config.assets.debug = true config.assets.compile = true config.serve_static_assets = true # 为资产 URL 生成摘要 config.assets.digest = true

对寻找什么有任何想法? 谢谢。

【问题讨论】:

【参考方案1】:

删除 config.assets.compile、config.serve_static_assets 和 config.assets.digest 后,CoffeeScript 编译再次工作。

【讨论】:

以上是关于CoffeeScript 未在 Rails 3.1 中更新的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3.1:我需要使用 CoffeeScript 吗?

使用 Jasmine 和 Rails 3.1 测试 Coffeescript

如何在 Rails 3.1 应用程序中完全禁用 CoffeeScript?

Rails 3.1 和 Coffeescript 出现“找不到变量”错误

如何在 Rails 3.1 中为 CoffeeScript 使用选项“--bare”?

如何将dojo工具包与rails 3.1资产管道和coffeescript一起使用?