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?
partial:
<% div_for post do %>
<%= link_to_unless_current h(post.title), post %>
<font size="1">created by <%= post.user %> <%= time_ago_in_words
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.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.