首先要做的事情。
这不是Get all tags on taggable object - no matter context的副本。我正在寻找特定模型对象上的所有标签。不适用于我的整个rails应用中的所有可能标签。
这不是Listing all tags for an acts_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
对象上的所有标签,无论他们的标记上下文。
我怎么做?
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