1

我正在开发一个使用 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

关于寻找什么的任何想法?谢谢。

4

1 回答 1

2

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

于 2012-06-26T12:51:28.587 回答