2013-04-13 66 views
1

我在Heroku上運行Rails 3.2應用程序,因此需要使用資產管道。這已經嚴重混淆了我,而現在關於Rails的資產管道爲什麼Rails 3資產管道總是在沒有任何變化的情況下重新生成資產?

一件事是這個小實驗的結果是:

git rm -r public/assets 

git commit -m "Nuke all generated assets" 

RAILS_ENV=production bundle exec rake assets:precompile 

git add . 

RAILS_ENV=production bundle exec rake assets:precompile 

具體來說,如果我檢查我的演出和不分階段的變化之間的區別,我發現第二個資產預編譯已經重新生成/ refingerprinted /提醒所有我的CSS和JS。

爲什麼要在資產編制之間不做任何更改?

顯然目前的時間戳是以某種方式參與的,但是爲什麼是那麼的 - 那麼當我再次改變時呢?

最後,有沒有什麼方法可以改變資產預編譯,使CSS和JS資源只有在自上次預編譯後發生更改時纔會重新生成?

回答

0

它會改變,因爲每次你創建一個新的gzip文件,即使內容是相同的,生成的文件將是不同的,和源代碼控制系統不知道該怎麼處理這件事(它不應該這樣做)。

你應該看看this answer知道要添加到gitignore的文件。

你也可以在github上看看this discussion

相關問題