我正在编写一些棘手的多态关系来处理标记。
我有一个Tag
模型和一个Tagging
属于多态的模型taggable
。
我有一个Item
模型,它has_many :taggings, :as => :taggable
,和has_many :tags, :through => :taggings
,所以我可以调用@item.tags
。
这一切正常。
我想将另一个模型加入到组合中-a Store
which has_many :items
。我希望能够使用@store.tags
.
这是我所拥有的:
class Store < AR::Base
has_many :items
has_many :tags, :through => :items, :source => :taggings
但是,这将返回taggings
与商店中的所有项目相关联的,而不是实际的标签。
如何通过项目、标签指定商店 has_many 标签?
如果需要,可以发布更多信息 - 试图防止信息过载!谢谢 :)