nishio-dens's diary

Railsとかプログラミング関連の備忘録

ActiveRecord4, includes(eager load)にはめられる

メモ。

今仕事でおもいっきり苦しめられてる問題。 同じ問題にハマる人がでないよう、ここに書き留めておく。

同じ名前のテーブルを2回join後、片方のみincludesするとおかしくなる。

以下のようなテーブルがあるとして。

f:id:nishio-dens:20140420180750p:plain

以下のテストケース test_eager_load_fail_test で失敗。 Product自身が持っているcorporation_id とちがうcorporationがひもづいてしまう。 うむ。

Invalid Includes