以下の引用を引用しましたが、これにはある程度の意味があります。
「キャッシュされたページとフラグメントは通常、モデルの状態に依存します。キャッシュは、どのアクションが関連するモデルを作成、変更、または破棄するかを気にしません。そのため、通常のオブザーバーを使用することは、キャッシュを期限切れにするための最良の選択のようです。」
例えば。モデルを更新する resque ワーカーがあります。モデルが更新/作成されたときに有効期限が切れるフラグメント キャッシュが必要です。これは掃除機ではできません。
ただし、オブザーバーを使用すると、モデルまたは Resque ジョブで次のようなものが必要になります。
ActionController::Base.new.expire_fragment('foobar')
モデル自体はキャッシングについて認識すべきではありません。これは、MVCの原則を破り、将来的に醜い結果につながります。