【发布时间】:2015-01-01 03:40:24
【问题描述】:
Rails 4 使用 cache_digests (https://github.com/rails/cache_digests) 来协助片段缓存失效:cache_digests 创建一个模板及其所有已知依赖项的 MD5 哈希,允许在模板或其依赖项时分配一个新键来使片段缓存失效变化。
我的问题是:如果 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,但是我们的 header 会被旧的application-xxxxxxx.css 缓存。那么如果application-xxxxxxx.css 从public/assets 中消失,这将导致一个丑陋的页面。
【问题讨论】:
标签: ruby-on-rails caching ruby-on-rails-4 memcached sprockets