Мне интересно, есть ли лучшая практика для того, чего я пытаюсь достичь ...
Сначала у нас есть модели категорий, категории, сообщения has_many.
Теперь допустим, пользователи добавляют сообщения.
Теперь у меня есть страница, на которой я хочу отображать только сообщения текущего пользователя по категории.
Допустим, у нас есть следующие категории: A, B и C
Пользователь 1, опубликовал в категориях A и B.
На мой взгляд, у меня есть что-то вроде:
<% @categories.select {|cat| cat.posts.count > 0}.each do |category| %>
<%= category.name %><br/>
<% category.posts.select {|post| post.user == current_user}.each do |post| %>
<%= post.content %><br/>
<% end %>
<% end %>
По большей части его почти нет. Проблема в том, что он по-прежнему будет отображать пустую категорию, если в нее вообще были введены какие-либо сообщения (даже если текущий пользователь не вводил сообщения в эту категорию.
Итак, вопрос сводится к:
Как сделать в следующем цикле только количество сообщений в категории от текущего пользователя?
0} .each do | категория | %>
Лучший,
Эллиот