Rails 4使用cache_digests(https://github.com/rails/cache_digests)來協助片段緩存失效:cache_digests創建模板及其所有已知依賴項的MD5哈希,允許片段緩存由於分配新密鑰而失效模板或其依賴項更改。Rails 4使用stylesheet_link_tag緩存片段
我的問題是:如果application.css文件的MD5哈希值在rake assets:precompile
期間發生變化,分段緩存是否會打包stylesheet_link_tag
?現在在我們的標題中這樣做:
<% cache("header-cache-key") do %>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<% end %>
這是安全嗎?我擔心的是,當CSS或JS發生變化時,application-xxxxxxx.css
將變爲application-yyyyyyy.css
,但我們的頭將緩存在舊的application-xxxxxxx.css
中。那麼如果application-xxxxxxx.css
從public/assets
消失,這將導致一個醜陋的頁面。