Я создаю блог в направляющих с помощью Лесов. Я хочу добавить поле 'тегов' на каждом сообщении как на StackOverflow и WordPress. Я могу сделать это со строковым типом ( rails generate scaffold post title:string body:text tags:string
) и затем запятая отделилась, но это не хорошая практика, так как я хочу, чтобы читатель просмотрел тегами (например. /tags/web20
или /tags/lol
). Как я могу сделать это?
Помежки настолько распространены, что реализации - это товар. Я считаю, что «Действует по поводу Taggable On» обычно является предпочтительным способом реализации тегов.
См. Другие популярные решения здесь .
Если вы хотите реализовать его самостоятельно, вы можете погрузиться в исходный код, чтобы найти некоторые идеи.
Я бы предложил создать модель тега и использовать HAS_AND_BELONGS_TO_MANY
, чтобы назначить теги к сообщениям. Я не знаю, поможет ли функция лесных ресурсов поможет вам создать форму для этого, но не должно быть трудно добавить ее самостоятельно. Я также предлагаю использовать функциональный плагин, так как намного проще и приятнее создавать формы с ним.
Err, обычным путем? Добавить сущность Тэга, добавить has_many: тэги
в вашей сущности Сообщения. Затем мигрировать. Это было бы всеми.