0
假设我们有一个Post
模型。最小化分贝查询的数量
在视图中我需要显示的职位总数,年初通常是由
@posts.size
视图后来,我需要通过
@posts.each do |post|
end
这显示所有帖子,通常导致两个查询。
如果我按照相反的顺序完成了查询,结果只有一个查询(推测使用了CACHE)。
是否有任何“技巧”,我可以实现(第一)提到的顺序只有一个数据库查询?
假设我们有一个Post
模型。最小化分贝查询的数量
在视图中我需要显示的职位总数,年初通常是由
@posts.size
视图后来,我需要通过
@posts.each do |post|
end
这显示所有帖子,通常导致两个查询。
如果我按照相反的顺序完成了查询,结果只有一个查询(推测使用了CACHE)。
是否有任何“技巧”,我可以实现(第一)提到的顺序只有一个数据库查询?
可以使用例如#fragment-caching
<% cache 'posts_size' do %>
<%= @posts.size %>
<% end %>
然后,当Post
您可以在创建过期片段
expire_fragment 'posts_size'