2
我有動作緩存在我的網站的索引工作,併成立了工作正常一個SiteSweeper:導軌清掃器可以在不同的控制器上工作嗎?
# app/controllers/admin/sites_controller.rb
class Admin::SitesController < Admin::BaseController
cache_sweeper :site_sweeper, :only => [:create, :update, :destroy]
caches_action :index, :cache_path => '/admin/sites'
...
# app/sweepers/site_sweeper.rb
class SiteSweeper < ActionController::Caching::Sweeper
observe Site
def after_save(site)
expire_cache(site)
end
def after_destroy(site)
expire_cache(site)
end
def expire_cache(site)
expire_action '/admin/sites'
end
end
但我也想到期,只要任何出版商都保存或銷燬/管理/網站。是否有可能讓PublisherSweeper使用類似這樣的東西過期網站索引?
# app/sweepers/publisher_sweeper.rb
class PublisherSweeper < ActionController::Caching::Sweeper
observe Publisher
def after_save(publisher)
expire_cache(publisher)
end
def after_destroy(publisher)
expire_cache(publisher)
end
def expire_cache(publisher)
expire_action '/admin/sites'
end
end
我知道我可以在各種發佈者操作中調用expire_action'/ admin/sites'。我只是想知道如果清掃工有這種能力(讓我的控制器更清潔)。
哦,所以清掃工必須觀察Site以便過期SiteController行動。謝謝! – jhiro009 2010-12-23 20:57:25