【问题标题】:How to get *ALL* tags on an acts_as_taggable object regardless of its contexts无论上下文如何,如何在acts_as_taggable对象上获取*ALL*标签
【发布时间】:2018-09-06 16:02:44
【问题描述】:

首先要做的事情。

不是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 对象上,无论其标记上下文如何。


我该怎么做?

【问题讨论】:

  • 你试过all_tags_list吗?
  • all_tags_list 仅查找具有“标签”上下文的那些。不是全部。

标签: ruby-on-rails ruby ruby-on-rails-4 acts-as-taggable-on acts-as-taggable


【解决方案1】:

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

【讨论】:

  • 完美。这很好。谢谢:)
  • 你能帮我理解这个base_tags方法是在哪里定义的吗?它的来源是什么?
  • 非常感谢 :)
猜你喜欢
  • 1970-01-01
  • 2019-11-09
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 2010-09-29
相关资源
最近更新 更多