【发布时间】:2012-08-27 18:30:04
【问题描述】:
您将如何设置俄罗斯娃娃之类的基于密钥的缓存到期和嵌入式文档? 正如37 signals所描述的那样
我相信在 Mongoid 3.0 中为 belongs_to 添加了 touch,但是对于嵌入式文档,您将如何处理它?
示例类:
class House
embeds_many :persons
end
class Person
embedded_in :house
end
查看:
<% cache ['v1', house] do %>
<%= house.some_attribute %>
<% house.persons.each |person| %>
<% cache ['v1' person] do %>
<%= render 'houses/person', person: person %>
<% end %>
<% end %>
<% end %>
概括触摸的最简单方法是什么?这样当我更新一个人时,它所嵌入的房子就会被触动。
编辑:或者这里的想法是重新渲染所有嵌入项目相对便宜?我当然可以这样做:
class Person
after_save :touch_house
def touch_house
house.touch
end
end
【问题讨论】:
标签: ruby-on-rails-3 caching mongoid