如何将Rails片段缓存自动过期与查询参数一起使用?

时间:2018-07-28 15:09:12

标签: ruby-on-rails

Rails具有便捷的片段缓存方法,可让您指定对象并在更新对象时使缓存过期:

<% cache @thing do %>
   cached stuff
<% end %>

我想包含查询参数(我想过滤列表),并且仍然获得自动过期键,并且无法在文档中找到方法。

1 个答案:

答案 0 :(得分:0)

这最终变得非常简单。

您可以简单地在缓存键中创建所有想要的对象的数组:

<% cache [@thing, params[:filter]] do %>
   cached stuff
<% end %>

添加以下内容也很有帮助:

config.action_controller.enable_fragment_cache_logging = true

在您的development.rb配置文件中,查看密钥并验证片段在更改模板时是否已过期。