1
我試圖在我的網站上設置一些緩存,並且遇到了緩存清理工作的麻煩。我遵循Railscast,但是當我嘗試使用模型加載頁面時,出現錯誤。下面是我迄今所做:未定義的方法'cache_sweeper'
1)的添加應用程序/清掃目錄,並把基本的清掃它:
class TeamMemberSweeper < ActionController::Caching::Sweeper
observe TeamMember
def after_create(team_member)
expire_nav_menus
end
def after_destroy(team_member)
expire_nav_menus
end
private
def expire_nav_menus(athlete_id)
expire_fragment(...)
end
end
2)以下行添加到TeamMember型號:
cache_sweeper :team_member_sweeper, :only => [:create, :destroy]
3)增加了以下行到config/environment.rb並重新啓動我的服務器:
config.load_paths += %W(#{RAILS_ROOT}/app/sweepers)
此時,無論何時訪問TeamMember模型,我都會收到以下錯誤消息:
undefined method `cache_sweeper' for #<Class:0x23128cc>
我錯過了什麼才能使其工作?
是的 - 你在控制器中添加緩存清掃器,而不是模型。 – zenazn 2008-12-31 18:06:10