Module: AbstractController::Caching::Fragments::ClassMethods
- Defined in:
- lib/abstract_controller/caching/fragments.rb
Instance Method Summary collapse
-
#fragment_cache_key(value = nil, &key) ⇒ Object
Allows you to specify controller-wide key prefixes for cache fragments.
Instance Method Details
#fragment_cache_key(value = nil, &key) ⇒ Object
Allows you to specify controller-wide key prefixes for cache fragments. Pass either a constant ‘value`, or a block which computes a value each time a cache key is generated.
For example, you may want to prefix all fragment cache keys with a global version identifier, so you can easily invalidate all caches.
class ApplicationController
fragment_cache_key "v1"
end
When it’s time to invalidate all fragments, simply change the string constant. Or, progressively roll out the cache invalidation using a computed value:
class ApplicationController
fragment_cache_key do
@account.id.odd? ? "v1" : "v2"
end
end
58 59 60 |
# File 'lib/abstract_controller/caching/fragments.rb', line 58 def fragment_cache_key(value = nil, &key) self.fragment_cache_keys += [key || -> { value }] end |