Rails缓存清理程序在创建时失败

时间:2012-10-19 12:25:17

标签: ruby-on-rails ruby-on-rails-3 activeadmin sweeper

我有一个控制器:

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,当在新记录上时,没有什么可以破坏,即使我已经专门说它只是为了扫描更新或删除。

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

1 个答案:

答案 0 :(得分:0)

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