我在我的模型中设置了一个缓存,例如:
def self.latest(shop_id)
Inventory.where(:shop_id => shop_id).order(:updated_at).last
end
在我看来,
<% cache ['inventories', Inventory.latest(session[:shop_id])] do %>
<% @inventories.each do |inventory| %>
<% cache ['entry', inventory] do %>
<li><%= link_to inventory.item_name, inventory %></li>
所以,我可以拥有许多商店,每个商店都有一个库存清单。上面的缓存对于不同的商店会起作用吗?
我认为即使在不同的商店中显示视图也可能会破坏缓存。或者,任何商店添加库存商品都会破坏缓存。
我能像这样使用俄罗斯套娃缓存吗,还是需要在我的模型中使用Inventory.all?