我可以在2个型号之间共享标签吗?

时间:2011-12-01 17:25:47

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

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

这是可能的,还是应该创建一个允许我在两个模型中保留标签的模型?

示例

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“group”标签。特别是因为我想创建类似于stackoverflow标记字段的东西(所以使用标记计数来查看它已被使用了多少次)。很可能,应该在两个模型之间共享tags_count。

注意:远足实际上是一个事件(这就是为什么它们共享同一组标签),这些事件通过应用程序以不同方式处理,因为我需要处理更多事情。

1 个答案:

答案 0 :(得分:0)

你的问题非常不完整。

假设您有两个“模型”和标签的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