Это зависит от того, сколько усилий вы готовы приложить - вы могли бы использовать плагин тегов или установить отношение has_and_belongs_to_many
в моделях сообщений и категорий, но я бы порекомендовалчто-то немного другое.
Если вы создадите третью модель, «Категоризация», как своего рода «клей» между сообщениями и категориями, вы можете иметь больше контроля.Публикация has_many :categories :through => categorizations
и Категория has_many :posts :through => :categorizations
Преимущество этого заключается в том, что ваши категории хранятся не в вашем коде, а в базе данных - поэтому для добавления / удаления / редактирования их не требуетсяизменить любой исходный код.То, как вы настраивали маршруты, полностью зависит от вас - вы можете /categories/:id
вернуть список всех сообщений, которые относятся к этой категории, или реализовать какую-либо форму поиска, используя одну или несколько категорий в качестве параметров.
У Райана Бейтса есть превосходный скринкаст , объясняющий все это, с несколькими различными способами решения проблемы.
Я знаю, вы упомянули, что вы новичок в RoR, поэтому я прошу прощения, если этонемного сложнее для того, что вы хотите.Как я уже сказал, плагин может быть лучше для ваших нужд, но я считаю, что всегда приятно, если это возможно, кодировать его самостоятельно, с дополнительным преимуществом большей гибкости и контроля:)