0
我片段缓存该片段:如何到期片段缓存的对象更新对象指数
<% cache('fragment-id') do %>
<div id="fragment-id">
<%= render @object %>
</div>
<% end %>
现在,很明显,我需要每一个对象更新时间过期高速缓存(讲话从数据库的角度来看)。
所以我应该把这个行:
expire_fragment('fragment-id')
...在这里和那里的控制器中,每次行动更新(或节省)的对象。
但我不知道是否有一个机方式做到这一点,就像在对象模型(/app/models/object.rb)触发的每次expire_fragment命令写某种挂钩更新(或保存)。
可能吗?
编辑#1:
也许我可以只覆盖保存方法的对象模型是这样的:
def save
expire_fragment('fragment-id')
super
end
但是,为了使这个正常工作,我必须肯定的是, “保存”的方法也被全部调用其他的保存方法如* update_attributes *,保存!等等,是这样吗?
不错,我忘记了清扫车......它的工作原理! – Darme