Rails 4 verwendet cache_digests (https://github.com/rails/cache_digests) zur Unterstützung der Fragmentcache-Invalidierung: cache_digests erstellt einen MD5-Hash einer Vorlage und all ihrer bekannten Abhängigkeiten, wodurch Fragmentcaches ungültig werden, wenn ein neuer Schlüssel zugewiesen wird Vorlage oder ihre Abhängigkeit ändert sich.Rails 4-Fragment-Caching mit stylesheet_link_tag
Meine Frage ist: wird ein Fragment-Cache-Wrapping stylesheet_link_tag
ungültig werden, wenn der MD5-Hash der application.css-Datei während rake assets:precompile
ändert? Machen Sie das jetzt in unserem Header:
<% cache("header-cache-key") do %>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<% end %>
Ist das sicher? Meine Befürchtung ist, dass, wenn sich das CSS oder JS ändert, application-xxxxxxx.css
application-yyyyyyy.css
wird, aber unser Header wird mit dem alten application-xxxxxxx.css
zwischengespeichert. Dann, wenn application-xxxxxxx.css
von public/assets
gegangen ist, wird dies zu einer hässlichen Seite führen.