我正在开发一个使用 CoffeeScript 的 Rails 3.1 应用程序。作为一名新的 Rails 开发人员,我一直在对一些配置进行更改,以尝试充分利用资产管道和 Heroku。
但是,我现在处于这样一个位置,无论我对 app/assets/javascripts/*.js.coffee 文件进行什么更改,本地 Rails 开发服务器都拒绝接收这些更改并重新编译应用程序。我可以触发重新编译 .js.coffee 文件的唯一方法是停止 WEBrick 并重新启动它。
然而,这个问题似乎并不影响我对 Heroku 的推动。那些似乎重新编译就好了。
我的设置的一些细节:
- 我不使用 rake assets:precompile 在本地编译资产。相反,我使用此处描述的“#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
关于寻找什么的任何想法?谢谢。