2014-01-23 31 views
2

我在config/environments/development.rb設置以下配置變量:意外的行爲4

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中實現相同的功能呢?我如何預先編譯我的資產到一個不同於一個rails尋找資產的目錄?從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

其中env config文件是否寫過'config.assets.prefix =「/ dev-assets」' – dax

+0

@dax'config/environments/development.rb'(已添加到問題)。 – Undistraction

+0

你想要的行爲是什麼?如果你在開發環境中運行'assets:precompile',是不是這個預期的行爲? – dax

回答

2

我應該一直在使用RAILS_ENV=production rake assets:precompile,使資產在生產環境中預編譯(其中config.assets.prefix仍處於默認值)public/assets本地。