0

我有一个控制器,其中:

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,当在新记录上时不会有任何东西可以破坏,即使我已经明确表示它只是在更新或删除时清扫。

(出于示例目的,我显然已将模型重命名为“模型”)

4

1 回答 1

0

问题是由于使用 ActiveAdmin,并且忘记(doh ...)将 :only => [:update, :destroy] 添加到该模型的活动管理配置中

于 2012-10-19T12:43:30.010 回答