我有一个自引用has_many :through
模型,它有另一个 has_and_belongs_to_many 和另一个模型。基本上是这样的:
class Foo << ActiveRecord::Base
has_and_belongs_to_many :bars
has_many :foo_links
has_many :foo_parents, :through => :foo_links, :foreign_key => :foo_parent_id, :class_name => "Foo"
has_many :foo_children, :through => :foo_links, :foreign_key => :foo_child_id, :class_name => "Foo"
end
我希望能够让一个foo_child
项目能够属于bars
它所分配的任何bars
一个,以及它的一个foo_ancestors
(foo_parents
及其foo_parents
等)被分配的任何一个。我基本上希望把这样的东西放在一起:
has_many :inherited_bars, :through => :foo_parents, :source => [:bars, :inherited_bars]
我从来没有见过这样的例子,但我想知道是否有可能有一个关联是从一个直通关联合并的关联。