要事第一。
这不是 Get all tags on taggable object - no matter context 的副本.我正在寻找特定模型对象上的所有标签。不适用于我整个 Rails 应用程序中所有可能的标签。
这不是 Listing all tags for an acts_as_taggable 的副本.我在所有上下文中查找对象上的所有标记 - 而不仅仅是在单个上下文中。
我有一个 my_car
Car
的实例类(class)。我在 wheel
上有很多标签上下文,关于 body
上下文,关于 interior
上下文,以及 tags
上的一些通用标签语境。
虽然我能够my_car.tags_list
, my_car.wheel_list
, my_car.body_list
, my_car.interior_list
, 我无法做类似 my_car.all_tags
的事情这样我就可以看到 ALL my_car
上的标签对象无论其标记上下文如何。
我该怎么做?
最佳答案
c.base_tags.map(&:name)
没有内置的快捷方式可以直接获取名称,但这已经够短了:)
编辑:base_tags
是在声明为可标记的类上定义的关联: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
关于ruby-on-rails - 如何在 acts_as_taggable 对象上获取 *ALL* 标签而不考虑其上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52208139/