В Rails 5 я предпринял следующие шаги, чтобы разрушить кеш, не прибегая к skip_digest: true
. Наша проблема заключалась в том, что изменение значения строк I18n не отражается в вычисленном дайджесте кэша, поэтому кэш не будет автоматически отключен.
Вот вид, где определен блок кеша:
/ views/layouts/_footer.html.slim
- cache :footer do
span= t('shared.footer')
Затем в консоли rails запускаю:
fragment = ActionController::Base.new.view_context.cache_fragment_name(:footer, virtual_path: 'layouts/_footer.html.slim')
ActionController::Base.new.expire_fragment(fragment)
cache_fragment_name
определит дайджест на основе ключевого аргумента virtual_path
.