如何設置一個俄羅斯娃娃像基於密鑰的緩存到期與嵌入式文檔? 正如37 signals使用Mongoid嵌入式文檔的基於密鑰的緩存過期
描述我相信touch
在Mongoid 3.0 belongs_to
添加,但你會如何處理它嵌入文檔?
實例類:
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
謝謝!唯一的問題是,這對於大於3個嵌入式文檔的深度會有點混亂。 – Yeggeps