0

Postモデルがあるとしましょう。

ビューの最初に、通常は投稿の総数を表示する必要があります

@posts.size

ビューの後半で、通常はすべての投稿を表示する必要があります

@posts.each do |post|  

end

これにより、2 つのクエリが生成されます。

クエリを逆の順序で実行した場合は、単一のクエリ (おそらく CACHE を使用) になります。

たった1つのdbクエリで(最初の)言及された順序を達成できる「トリック」はありますか?

4

1 に答える 1

0

たとえば、#fragment-cachingを使用できます

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

次に、 aPostが作成されると、フラグメントを期限切れにすることができます

expire_fragment 'posts_size'
于 2013-07-19T15:46:40.917 に答える