counting blog comments

I have "posts" and "comments", and I'd like to display the number of comments each post has (and display 0 if none). In the index Posts view, I display a list of posts and their authors using the below partial. What I can't figure out is how to limit the comment count to the post listing (my attempts so far show the total number of comments in the database). How do I limit the count?


<% div_for post do %>   <p><strong><%= link_to_unless_current h(post.title), post %></strong>

I think, you must have Post-'has many"-Comments relationship

So, to find number of comments: post.comments.count will give you total number of comments of a post.


That did it. I think I've been staring at the monitor too long... :slight_smile:

Depending on performance needs, you can also look at the counter_cache option for the ActiveRecord association.

Your current approach has to query the child table to get the count, which could be a performance hit on a big site. Don't prematurely optimize though - it's just good to know about other options in case the need arises.