我想弄清楚一种方法来消除一堆似乎不必要的查询。这是情况。Rails 3 - 查询子模型和计数语句
模型后的has_many评论
SQL(0.1毫秒)SELECT COUNT(*)FROM “意见” WHERE( “意见” .post_id = 5)
CACHE(0.0ms)SELECT COUNT(*)FROM“ (*)FROM“comments”WHERE(“comments”.post_id = 5)
CACHE(0.0ms)SELECT COUNT(*) FROM“comments”where(“comments”.post_id = 5)
所以我不知道为什么这些都在运行,但在我看来,我正在检查,看看是否re对每个帖子发表评论
<% 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,但看起来只是为belongs_to关系,我也使用子域名,所以不知道counter_cache是否适用于我。
任何建议,欢迎
我正在运行我的查询...... @posts = @ current_account.posts.all(:include => [:comments])。所有,但不确定这是做到这一点的最佳方式。 (特别是对于Rails 3.1 – bokor 2011-01-21 05:05:28