【问题标题】:Can I share tags between 2 models?我可以在 2 个模型之间共享标签吗?
【发布时间】:2012-01-10 20:21:26
【问题描述】:

我正在尝试这个 gem,但是有一种情况是 2 个模型应该共享标签(所以如果一个是在模型 1 上创建的,它应该在模型 2 上可用)。

这可能吗,还是我应该创建一个模型,让我可以将两个模型的标签保存在一个地方?

示例

class Hikes < ActiveRecord::Base
  # Name
  # Date
  # Hikers[*]
  # ...
  acts_as_taggable_on :event_types
end

class Events < ActiveRecord::Base
  # Name
  # Date
  # Note
  acts_as_taggable_on :event_types
end

我想在两个模型之间共享 event_types “组”标签。特别是因为我想创建一个类似于stackoverflow标签字段的东西(所以用标签计数来查看它被使用了多少次)。显然 tags_count 应该在两个模型之间共享。

注意: Hike 实际上是一个事件(这就是它们共享同一组标签的原因),它通过应用程序以不同方式处理,因为我必须处理更多的事情。

【问题讨论】:

  • 听起来是个不错的要求。您能否添加一个有关您要实现的目标的示例?
  • 您应该可以使用相同的标签,但有两个直通模型。
  • @lucapette 我添加了示例

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


【解决方案1】:

你的问题很不完整。

假设你有两个“模型”和标签的 ActiveRecord 模型,这个结构可以工作:

class A < ActiveRecord::Base
  has_many :tags
end

class B < ActiveRecord::Base
  has_many :tags
end

class Tag < ActiveRecord::Base
  belongs_to :a
  belongs_to :b
end

【讨论】:

  • 这就是我的想法,我正在测试它,但我想避免这种方法
  • 按要求添加了一个示例,希望对您的回答有所帮助。
  • 这是目前唯一可行的方法。我必须说插件不支持这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2018-05-01
  • 2017-01-21
  • 1970-01-01
相关资源
最近更新 更多