RailsのActiveRecordのfindメソッドで:includeオプションを使うとき、複数のテーブルをincludeできないかなぁと思って色々と試していたら、配列とハッシュを利用して実現できた。 例えば、顧客が複数のサイトを持っていて、各サイトごとに複数のプロジェクトがあり、各プロジェクトがASPのデータを持っていて、また各プロジェクトに変更イベントがあるとする。 その情報のためのテーブルがあり、 1 Client 対 多 Site 1 Site 対 多 Project 1 Project 対 多 ChangeEvent 1 Asp 対 多 Project という構造になっている。 図にするとこんな感じ すると、 ChangeEvent.find(:all).each do |event| p event.project.site.client.name p event.proje
![Railsのfindメソッドのincludeオプションで、複数のテーブルをincludeする方法 - 久保清隆のブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/d513ed93f8b6d000d009134eb62d3bb62930582d/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkiyo560808%2F20100630%2F20100630163739.png)