【发布时间】:2013-02-10 20:29:41
【问题描述】:
我希望过期,然后使用可公开访问的端点为控制器操作刷新缓存。
目前在我的应用程序中,/all 返回缓存的 json,并且 /update 使缓存过期。 您可以在下面看到现有的相关代码。 我想做的不仅是使缓存过期,而且还强制刷新。 所以,我的问题是:
有没有办法在动作缓存过期后启动它的刷新,而不点击动作?
如果答案是否定的(正如我开始怀疑的那样),那么最好的方法是什么?我需要更新操作来返回 HTTP 200 状态,而不是 301 重定向,因此仅重定向到 /all 不是一个选项。
供应商控制器
caches_action :all, :expires_in=>2.weeks
....
def all
respond_to do |format|
format.json { render :json => Vendor.all }
format.html { render :json => Vendor.all }
end
end
....
def update
render :nothing => true
expire_action :action => :all
end
【问题讨论】:
标签: ruby-on-rails-3 caching action-caching