hogeとfugaが多対一のとき、ActiveRecord#find_by_sqlでhogeを取得する
hoges = Hoge.find_by_sql(["SELECT * FROM hoges INNER JOIN fugas ON hoges.fuga_id = fugas.id WHERE fugas.code = ?", "0003"])
inner joinを使ってデータを取得したとき、joinする側とされる側に同じ名前のカラムがあると、正しくインスタンスが作られないんですね。たとえばこの例のテーブルでhogesにもfugasにもnameというカラムがあると、hogeのnameにfugaのnameが入ってしまうことがある。
SELECT hoges.* FROM hoges INNER JOIN ....
としてやらないとダメみたいですね。
あれ?常識ですか?