Добавление тегов в сообщения в Ruby on Rails

Я создаю блог в Rails, используя Scaffolding. Я хочу добавить поле "теги" для каждого сообщения, например, в StackOverflow и WordPress. Я могу сделать это со строковым типом (rails generate scaffold post title:string body:text tags:string), а затем запятыми, но это не очень хорошая практика, так как я хочу, чтобы читатель просматривал теги (например, /tags/web20 или /tags/lol). Как я могу это сделать?

Ответ 1

Маркировка настолько распространена, что реализации - это товар. Я полагаю, что "действует как taggable on" , как правило, является предпочтительным способом реализации тегов.

Смотрите другие популярные решения здесь.

Если вы хотите реализовать его самостоятельно, вы можете погрузиться в исходный код, чтобы найти некоторые идеи.

Ответ 2

Я бы предложил создать модель тегов и использовать has_and_belongs_to_many для назначения тегов сообщениям. Я не знаю, поможет ли функция эшафот вам создать форму для этого, но ее не составит труда добавить. Я также предлагаю использовать плагин formtastic, так как гораздо проще и приятнее создавать с ним формы.

Ответ 3

Err, обычный способ? Добавьте объект тега, добавьте has_many :tags в объект Post. Затем мигрируйте. Это все.