модуль AbstractController::Caching::Fragments::ClassMethods
Публичные методы экземпляра
# File actionpack/lib/abstract_controller/caching/fragments.rb, line 57
def fragment_cache_key(value = nil, &key)
self.fragment_cache_keys += [key || -> { value }]
end Позволяет указать префиксы ключей фрагментов кэша на уровне контроллера. Передайте либо константу value, либо блок, вычисляющий значение каждый раз при генерации ключа кэша.
Например, вы можете добавить префикс ко всем ключам фрагментов кэша с идентификатором глобальной версии, чтобы легко аннулировать все кэши.
class ApplicationController fragment_cache_key "v1" end
Когда пришло время аннулировать все фрагменты, просто измените строковую константу. Или постепенно внедрите аннулирование кэша с использованием вычисленного значения:
class ApplicationController
fragment_cache_key do
@account.id.odd? ? "v1" : "v2"
end
end
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.