如何在 acts_as_taggable 对象上获取 *ALL* 标签而不考虑其上下文
How to get *ALL* tags on an acts_as_taggable object regardless of its contexts
要事第一。
这不是 的副本。我正在寻找特定模型对象上的所有标签。不适用于我整个 rails 应用程序中所有可能的标签。
这 不是 Listing all tags for an acts_as_taggable 的副本。我在所有上下文中查找对象上的所有标记 - 而不仅仅是在单个上下文中。
我有一个 Car
class 的 my_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
这样的事情,所以我可以看到 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
要事第一。
这不是
这 不是 Listing all tags for an acts_as_taggable 的副本。我在所有上下文中查找对象上的所有标记 - 而不仅仅是在单个上下文中。
我有一个 Car
class 的 my_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
这样的事情,所以我可以看到 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