首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5-集合缓存不刷新

问Rails 5-集合缓存不刷新
EN

Stack Overflow用户
提问于 2016-04-29 09:23:12
回答 1查看 732关注 0票数 1

我想我一定是遗漏了一些关于集合缓存- 1.3.1如何工作的东西。当我将cached: true属性添加到呈现时,当模型更改时,不会刷新缓存。但是,如果没有这个属性,它将如预期的那样工作。

attending.html.erb

代码语言:javascript
复制
<%= render partial: 'attending_item', collection: @attendees, locals: {reserved: true}, cached: true %>

_item_attending.html.erb

代码语言:javascript
复制
<% cache([attendee.user, attendee, reserved]) do %>
  <li class="attendee_id_<%= attendee.id %> <%= reserved ? 'reserved' : 'confirmed' %>">
  <%= image_tag(attendee.user.profile.avatar_url(:avatar), size: '25x25') %>
  <%= attendee.user.full_name %>
 </li>
<% end %>

用户模型将通过配置文件模型上的touch: true进行更新,例如,当他们在那里更新时:

代码语言:javascript
复制
belongs_to :user, touch: true

有人能向我解释我缺少什么或者不了解集合缓存是如何工作的吗?也许是Rails中的一个bug

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 00:03:53

游戏后期,但我不认为您的缓存是到期的,因为它依赖于用户和保留的值。

看看multi_fetch_fragments 创业板的更好的文档,它被合并到Rails中,从而增加了一些线索。

我认为您希望将您的cache: true更改为cache: Proc.new { |attendee| [attendee, user, reserved] },以考虑到那里的更改。

此外,我相信您希望在自动缓存部分时删除_item_attending.html.erb文件中的_item_attending.html.erb块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36934496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档