ruby-on-rails - 无论上下文如何,如何在acts_as_taggable对象上获取*ALL*标签
问题描述
第一件事。
这不是Get all tags on taggable object的重复- 无论上下文。我正在寻找特定模型对象上的所有标签。不适用于我整个 rails 应用程序中的所有可能标签。
这不是列出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
是在声明为可标记的类上定义的关联: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
推荐阅读
- oracle - utl_raw.cast_to_varchar 增加字符串的长度
- javascript - 在异步 JS 中维护上下文:以 web3.eth.getBalance() 为例
- python - 烧瓶/Python 和 Ajax
- docker - Traefik 在每次重启时重新创建所有 ACME 证书
- c# - 创建将在 .net 核心中返回通用抽象类型对象的工厂
- python - 我用于将二进制值转换为十进制的 python 代码没有按我的意愿工作
- javascript - undefined 不是对象(评估 newText.split)
- java - 找到一条线上到另一个点的最近点
- java - 如果生成器(例如 Java 版本的 UUID)未知,那么 UUID 的哪些数字最不可能发生冲突?
- html - 居中 png 图像