私は関係にhas_manyを持っている - にhas_manyのように:私はBaz.first.bar_ids
をすればfoo_idsメソッドのthrougth関係でレールが結合するのはなぜですか?
class baz < ActiveRecord::Base
has_many :foo
has_many :bar, through: :foo
end
class foo < ActiveRecord::Base
belongs_to :baz
belongs_to :bar
end
class bar < ActiveRecord::Base
has_many :foo
has_many :baz, through: :foo
end
は、レールが...なぜバーテーブルに参加する代わりに、fooのテーブルにbar_id取得しますか?あなたは独立したエンティティとしてセットアップに関係モデルが必要な場合はhas_many :through
関係を設定する必要があり
SELECT [DISTINCT] `foo`.bar_id FROM `foo` WHERE `foo`.`baz_id` = 1
を使っています。この動作を変更することは可能ですか?どのようにそれをオーバーライド? – Matrix
@Matrix、私は答えを編集しました –