【发布时间】:2012-03-18 03:39:53
【问题描述】:
我有一个离线 rake 作业来更新我的模型。发生这种情况时,我想使该模型的 :show 操作过期。
# in lib/models/my_model.rb
after_update :expire_cache
def expire_cache
expire_action :controller => :my_models, :action => :show, :id => self
end
这不起作用,因为 expire_action 在模型中不可用。调用 ActionController.new.expire_action 给了我很多奇怪的路由问题,这是合理的,因为没有连接任何路由逻辑。
我认为 expire_action 的常用方法是使用清扫器,但这不起作用,因为我的模型不是通过控制器操作更新的。
注意:我觉得我可能以错误的方式使用缓存,因为我无法在任何地方找到答案。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 caching