mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Doc: sweepers only work on Active Record Models
In response to this rails issue: https://github.com/rails/rails/issues/3729
This commit is contained in:
parent
2c96638c70
commit
c9d1ba41fd
2 changed files with 4 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
|||
module ActionController #:nodoc:
|
||||
module Caching
|
||||
# Sweepers are the terminators of the caching world and responsible for expiring caches when model objects change.
|
||||
# Sweepers are the terminators of the caching world and responsible for expiring caches when Active Record objects change.
|
||||
# They do this by being half-observers, half-filters and implementing callbacks for both roles. A Sweeper example:
|
||||
#
|
||||
# class ListSweeper < ActionController::Caching::Sweeper
|
||||
|
|
|
@ -173,7 +173,9 @@ expire_fragment('all_available_products')
|
|||
|
||||
h4. Sweepers
|
||||
|
||||
Cache sweeping is a mechanism which allows you to get around having a ton of +expire_{page,action,fragment}+ calls in your code. It does this by moving all the work required to expire cached content into an +ActionController::Caching::Sweeper+ subclass. This class is an observer and looks for changes to an object via callbacks, and when a change occurs it expires the caches associated with that object in an around or after filter.
|
||||
Cache sweeping is a mechanism which allows you to get around having a ton of +expire_{page,action,fragment}+ calls in your code. It does this by moving all the work required to expire cached content into an +ActionController::Caching::Sweeper+ subclass. This class is an observer and looks for changes to an Active Record object via callbacks, and when a change occurs it expires the caches associated with that object in an around or after filter.
|
||||
|
||||
TIP: Sweepers rely on the use of Active Record and Active Record Observers. The object you are observing must be an Active Record model.
|
||||
|
||||
Continuing with our Product controller example, we could rewrite it with a sweeper like this:
|
||||
|
||||
|
|
Loading…
Reference in a new issue