使用Touch进行片段缓存

时间:2010-10-29 16:18:20

标签: ruby-on-rails caching fragment-caching

目前我正在使用带有对象键的片段缓存。我使用Touch来更新cache_at列,然后当前缓存变得过时。并且下次会生成新的缓存。

<% cache do product %>

对象的缓存键如下所示

table_name/ID-updated_at

现在我想在其他地方缓存我的产品。为此,我想做与以前一样的事情,只是在缓存选项中给出对象,但我不能这样做:(

如果我能够生成这样的密钥以便仍然使用Touch过期缓存,那将会很棒。

table_name/ID-something_updated_at
<% cache product,something do %>

不幸的是,这是不可能的,有人知道如何解决我的问题吗?

格雷格

1 个答案:

答案 0 :(得分:1)

你可以将你喜欢的任何旧数组传递给片段,所以这是一个非常简单的改变来实现你所追求的:

<% cache [product, other, product.updated_at] do %>
  ...
<% end %>