假设我们有Post
模型。
在视图的开头,我需要显示帖子的总数,通常是
@posts.size
稍后在视图中我需要显示所有帖子,通常是
@posts.each do |post|
end
这导致两个查询。
如果我以相反的顺序完成了查询,则会产生一个查询(可能是使用CACHE)。
是否有任何“技巧”我只能通过一个数据库查询来实现(第一个)提到的顺序?
答案 0 :(得分:0)
您可以使用例如#fragment-caching
<% cache 'posts_size' do %>
<%= @posts.size %>
<% end %>
然后,当创建Post
时,您可以使片段到期
expire_fragment 'posts_size'