2013-07-19 30 views
0

假设我们有一个Post模型。最小化分贝查询的数量

在视图中我需要显示的职位总数,年初通常是由

@posts.size 

视图后来,我需要通过

@posts.each do |post| 

end 

这显示所有帖子,通常导致两个查询。

如果我按照相反的顺序完成了查询,结果只有一个查询(推测使用了CACHE)。

是否有任何“技巧”,我可以实现(第一)提到的顺序只有一个数据库查询?

回答

0

可以使用例如#fragment-caching

<% cache 'posts_size' do %> 
    <%= @posts.size %> 
<% end %> 

然后,当Post您可以在创建过期片段

expire_fragment 'posts_size'