Как получить теги *ALL* для объекта activ_as_taggable независимо от его контекста

Обо всем по порядку.

Это НЕ дубликат получения всех тегов для тегируемого объекта - независимо от контекста. Я ищу все теги на конкретном объекте модели. Не для всех возможных тегов в моем приложении rails.

Это НЕ копия списка всех тегов для activ_as_taggable. Я ищу все теги объекта во всех контекстах, а не только в одном контексте.


у меня есть my_car экземпляр Car учебный класс. У меня есть много тегов на нем wheel контекст, на body контекст, на interior контекст и некоторые общие теги tags контекст.

Пока я могу my_car.tags_list, my_car.wheel_list, my_car.body_list, my_car.interior_listЯ не могу сделать что-то вроде my_car.all_tags так что я могу видеть все теги на my_car объект независимо от их контекста тегирования.


Как я могу это сделать?

1 ответ

Решение

c.base_tags.map(&:name)

Там нет встроенного ярлыка, чтобы получить имена напрямую, но это достаточно коротко:)

Редактировать: base_tags является ассоциацией, определенной на классах, объявленных как taggable: has_many :base_tags, through: :taggings, source: :tag, class_name: '::ActsAsTaggableOn::Tag'

Источник: https://github.com/mbleigh/acts-as-taggable-on/blob/master/lib/acts_as_taggable_on/taggable.rb

Другие вопросы по тегам