同じ名前のカラムがあるモデルに関連があるとする。FooとBarがあってそのどちらにもname属性があるようなケース。 Foo.where(:name => 'baz') これはもちろん問題なく実行できる。次のような関連を使う場合でも特に問題は起きない。 Foo.joins(:bar).where(:name => 'baz') ここでハッシュ表現できないような条件を考えてみる。 Foo.where('name like "baz"') これももちろん問題ないのだけれど、次のようなのになるとちょっと困ってしまう。 Foo.joins(:bar).where('name like "baz"') もしもこれを実行しようとするとStatementInvalid例外が上がってくる。SQL文を生成させてみると「WHERE (name like "baz")」となってしまっているのを確認できる。 wh