Я пытаюсь найти способ устранить кучу запросов, которые кажутся ненужными. Вот ситуация.
модель Сообщение has_many Комментарии
SQL (0,1 мс) SELECT COUNT (*) ОТ "комментариев" ГДЕ ("комментарии" .post_id = 5)
CACHE (0.0ms) ВЫБЕРИТЕ COUNT (*) ОТ "comments" WHERE ("comments" .post_id = 5)
CACHE (0.0ms) ВЫБЕРИТЕ COUNT (*) ОТ "comments" WHERE ("comments" .post_id = 5)
CACHE (0.0ms) ВЫБЕРИТЕ СЧЕТЧИК (*) ОТ "комментариев" ГДЕ ("комментарии" .post_id = 5)
Так что я не уверен, почему они работают, но, на мой взгляд, я проверяю, есть ли комментарии для каждого из сообщений
<% if post.comments.count > 0 %> <!-- tried count, size, blank? -->
<table class="list">
<% post.comments.each do |animal| %>
<tr><!-- stuff here --></tr>
<% end %>
</table>
<% else %>
<h3>No comments</h3>
<% end %>
Если есть лучший способ сделать эту проверку, я за изменения. Я посмотрел на counter_cache, но похоже, что он предназначен только для отношений own_to, а также я использую субдомены, поэтому не уверен, что counter_cache подойдет мне или нет.
Любые предложения приветствуются