LoginSignup
84

More than 5 years have passed since last update.

rails active recordで複数のテーブルをincludesするときの書き方お作法

Posted at

railsであるテーブルを検索して結果を出力するときに、他の関連テーブルも一緒に検索結果に表示したい時にincludesメソッドはよく使うと思います。
で、その際に複数のテーブルをいっぺんに読み込むのに、少し困ったので備忘録代わりに。

例えば、Personテーブルに紐づく、sexテーブル、cityテーブルと、cityテーブルを通してcountryテーブルをincludeしたい時。

model
Person.includes([:sex, city: :country])

※複数は()内で、更に[]でくくる
※複数の場合は、テーブル名(単数か複数かはリレーションの関係による。モデル側でリレーション定義してね)の前に:をつける
※中間テーブルとか、あるテーブルのその先のテーブルを取るときは、最初の親テーブルは後ろに:、小テーブルは前に:をつける。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
84