модуль AbstractController::Caching::Fragments::ClassMethods
Открытые методы экземпляра
# File actionpack/lib/abstract_controller/caching/fragments.rb, line 53
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–2018 David Heinemeier Hansson
Licensed under the MIT License.