我有一个控制器,其中:
caches_action :show
cache_sweeper :the_model_sweeper, :only => [:update, :destroy]
和扫地机:
observe TheModel
def after_save(the_model)
expire_cache(the_model)
end
def after_destroy(the_model)
expire_cache(the_model)
end
def expire_cache(the_model)
expire_action :controller => '/the_model', :action => 'show'
end
和正在得到:
ActionController::RoutingError (No route matches {:controller=>"/the_model", :action=>"show"}):
我猜想的问题是因为扫地机被称为after_save,当在新记录上没有什么可销毁的时候,即使我专门为它说了它只是在更新或删除上扫描。
(我显然已将模型重命名为"模型",例如)
问题是由于使用了activeadmin,而忘记了(doh ...)添加:noct => [:update,:update,:distion,:destain] to Active该模型的管理员配置