我已经将我的Rails 3.2应用更新到了4.0版本,偶然发现了一个问题。
当我使用config.assets.compile = false
选项运行网站时,它不会加载任何资产。我已尝试rake assets:precompile
并在public/assets
处编译资产,但网站不会加载其中的任何内容。我的布局中包含了application.js
和application.css
,但是当我检查页面的来源时,却说没有找到它们。
当我使用config.assets.compile = true
运行网站时,一切都运行良好,但我已经读过,关闭它会带来更好的性能,所以我需要让它工作。
在此先感谢。
UPD:我发现如果我使用此命令RAILS_ENV=production bundle exec rake assets:precompile
一切正常。问题是为什么rake assets:precompile
命令不起作用?
UPD2:对于那些有同样问题的人,这里有解释
常规rake assets:precompile
编译在开发模式下运行的应用程序的资产。在开头指定RAILS_ENV=production
部分使命令编译生产模式的资产,bundle exec
部分不是必需的。所以最终的命令如下所示:RAILS_ENV=production rake assets:precompile
。也许这很明显,但我花了一段时间才明白。感谢。