我的 users.html.slim 视图中有以下内容:
.header
Welcome
- cache ['user/details', user.last_modified] do
= render 'user/details', user: @user
我的问题是我已经更改了user/details
标记,并且由于用户实际上没有更改,我仍然得到缓存版本。
根据文档,由于 HTML 已更改,缓存应该过期
当视图片段发生变化(例如,视图中的 HTML 发生变化)时,缓存片段也会过期。键末尾的字符串是模板树摘要。它是根据您正在缓存的视图片段的内容计算的 MD5 哈希值。如果您更改视图片段,MD5 哈希将更改,使现有文件过期。
但情况似乎并非如此。
解决这种情况的正确方法是什么?您依赖键的参数没有更改,但实际标记已更改。我正在考虑做类似的事情:
- cache ['user/details/v2', user.last_modified] do
= render 'user/details', user: @user
但我想知道在这些情况下这是否更合适。