如何在acts_as_taggable对象上获取* ALL *标记,而不管其上下文如何

问题描述 投票:3回答:1

首先要做的事情。

这不是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_listmy_car.wheel_listmy_car.body_listmy_car.interior_list,我无法做像my_car.all_tags这样的事情,所以我可以看到my_car对象上的所有标签,无论他们的标记上下文。


我怎么做?

ruby-on-rails ruby ruby-on-rails-4 acts-as-taggable-on acts-as-taggable
1个回答
3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.