Rails помечает гем, который поддерживает пометку модели другими моделями? - PullRequest
3 голосов
/ 23 августа 2011

Большинство драгоценных тегов Rails поддерживают тегирование объекта произвольными строками.(В дополнение к этому) Я хотел бы пометить объект другими объектами.

Представьте, что я создаю сайт вопросов и ответов для любителей собак: я хочу, чтобы человек мог задать вопрос.Затем этот человек может пометить этот вопрос произвольными строками (как это поддерживает каждый самоцвет для пометки), НО, если вопрос касается конкретной породы собак или пород, я хотел бы, чтобы пользователь дополнительно мог пометить вопрос с помощьюпороды собак.Породы собак - это модель в моем веб-приложении, с множеством собственных метаданных и ассоциаций.

Все теги Gem для Rails, которые мне удалось найти, просто расценивают теги как слова;Я хочу знать, существует ли гем, который поддерживает теги как сами объекты / модели.

Я, конечно, знаю, что я могу прокрутить свою собственную, просто написав некоторую логику ассоциации has_many, но что хорошо во многихВ тегах gem с тегами Rails есть множество методов, которые помогают легко запрашивать и отображать данные тегов.

1 Ответ

0 голосов
/ 23 января 2012

Я не знаю ни одного, кто бы делал именно то, что вы спрашиваете, но гем act_as_taggable_on поддерживает теги в разных контекстах.Возможно, вы могли бы создать контекст тега для породы собак, разрешить выбор породы на основе вашей модели и затем использовать имя или идентификатор для записи модели породы в качестве тега в контексте породы.Вы можете найти больше информации здесь , но вы бы добавили что-то подобное в свою модель:

acts_as_taggable #for your normal tags
acts_as_taggable_on :breeds

Тогда вы можете найти элементы, помеченные породой, используя:

Question.tagged_with('border collie', :on => :breeds)

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

...