2012-12-14 49 views
9

我無法在文檔中找到明確的答案。許多參考文獻只是說「更改版本會使資產無效」。那麼,指紋識別機制就不一樣了,它根據文件內容和名稱生成哈希標籤?有誰知道config.assets.version的用途是什麼?config.assets.version在Rails中做什麼?

+2

http://stackoverflow.com/questions/13171647/what-does-changing-config-assets-version-number-do – deefour

回答

6

config.assets.version是用於MD5散列生成的選項字符串。這是可以改變強制重新編譯所有文件。*

這可能是有益的,當資產內容沒有改變,但要更改標題與資產服務的響應,但這些報頭緩存就像CDN或用戶的瀏覽器一樣。

更改您的資產版本將允許您使用新的md5哈希重新生成所有資產,從而允許您使用新標頭爲您的CDN提供相同的資產。

*從RailsGuides - Configuring Rails Applications

注:截至2016年5月20日的,這個功能確實出現了一段時間https://github.com/rails/sprockets-rails/issues/240已經被打破。另一種方法是改變Rails.application.config.assets.prefix的值。

+0

希望他們很快解決這個問題。在查看網站查看更改之前,請求用戶確保重置其歷史記錄根本不是一種選擇lol – bkunzi01

+0

@ bkunzi01您是否看到我關於另一種方法的說明,指出您的資產在很長的到期日期之後會崩潰? –

+0

好的提示!當你這樣做的時候,你需要刪除原來的公共/資產文件夾還是自動預先編譯。到一個新的文件夾並避開舊資產? – bkunzi01