rails has_many通过double?

时间:2014-05-15 08:41:38

标签: ruby-on-rails ruby activerecord

class Foo < ActiveRecord::Base
has_many :bar

class Bar < ActiveRecord::Base
belongs_to :foo
has_many :baz

class Baz < ActiveRecord::Base
belongs_to :bar

我追求所有的Foo's bazs(由于Bar的关系,Foo有很多Baz)。我只想在Foo上添加一个has_many :baz,在Baz上添加一个belongs_to :foo,但我觉得这里有一段我​​不想要的关系。

我应该只使用示波器吗?或者我是否可以通过Foo获得所有baz的关系?

1 个答案:

答案 0 :(得分:3)

您应该只需添加一个。

class Foo < ActiveRecord::Base
  has_many :bars
  has_many :bazes, through: :bars
end

有关详细信息,请查看http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association