我在config/environments/development.rb
中设置了以下配置变量:
config.assets.prefix = "/dev-assets"
在Rails 3中,这意味着在开发过程中,我的应用程序会在public/dev-assets
而不是public/assets
中查找资产,以避免加载可能存在的预编译资产的风险。
但是在Rails 4中,设置此参数并运行rake assets:precompile
现在会将预编译资产添加到public/dev-assets
。
似乎这个前缀用于Rails放置预编译资产和rails查找资产的位置。这意味着Rails将始终从放置预编译资产的同一位置提取资产,这意味着可能过时的预编译资产会掩盖最新资产。
那么如何在Rails 4中实现同样的功能呢?如何将我的资产预编译到一个目录以外的其他目录?
来自rake assets:precompile
的控制台输出:
[2014-01-23T11:48:35.766582 #4234] INFO -- : Writing /path/to/app/public/dev-assets/application-1b403217ee27653d8d1299aeb242462b.js
I, [2014-01-23T11:48:35.819090 #4234] INFO -- : Writing /path/to/app/public/dev-assets/application-8e258453df56d80e1a8b9b8a8e6f8db4.css
答案 0 :(得分:2)
我本应该使用RAILS_ENV=production rake assets:precompile
,以便资产在生产环境中预编译(默认情况下config.assets.prefix
仍为默认值)到本地public/assets
。