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