0

假设我们有一个Post模型。

在视图的开头,我需要显示帖子的总数,通常是

@posts.size

稍后在视图中我需要显示所有帖子,通常是

@posts.each do |post|  

end

这会导致两个查询。

如果我以相反的顺序完成查询,它会产生一个查询(大概是使用 CACHE)。

有没有什么“技巧”可以让我只用一个数据库查询就可以实现(第一个)提到的顺序?

4

1 回答 1

0

您可以使用例如#fragment-caching

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

然后在Post创建 a 时,您可以使片段过期

expire_fragment 'posts_size'
于 2013-07-19T15:46:40.917 回答