我正在阅读此article以掌握Rails中的缓存。我的理解是不再使用页面缓存和动作缓存,建议使用片段缓存。片段缓存允许将视图逻辑片段包装在缓存块中,并在下一个请求进入时从缓存存储中提供。
它表示缓存块将绑定到调用它的操作。因此,如果要为每个操作缓存多个片段,则应该为缓存调用提供action_suffix:
<% cache(action: 'recent', action_suffix: 'all_products') do %>
All available products:
<% Product.all.each do |p| %>
<%= link_to p.name, product_url(p) %>
<% end %>
<% end %>
但是,如果您不希望缓存块绑定到调用它的操作,您还可以通过使用密钥调用缓存方法来使用全局加密的片段:
<% cache('all_available_products') do %>
All available products:
<% end %>
我的问题是为什么要将缓存块绑定到操作?有什么好处?通过使用:action和:action_suffix键,它看起来像是额外的代码。