【Rails】マイグレーションで多対多の関連付けを作成する

Railsで多対多の関連を作成したい場合、簡単に作成できるので見ていきましょう。

ここでは想定としてレコード情報を持つ「records」とプレイヤー情報を持つ「players」は多対多の関係であるため関連付けを作成し、中間テーブルは「record_players」とします。

マイグレーションについてわからない人はこっちを先に見てもらえるとスムーズです。

【Rails】 マイグレーション機能の使い方

recordsを作成

モデルを作成

マイグレーションファイルを編集

今回はいくつかカラムを追加してみました。

マイグレーション実行

playersを作成

モデルを作成

マイグレーションファイルを編集

マイグレーション実行

record_players(中間テーブル)を作成

モデルを作成

このように関連付けするテーブルにreferenceをつけます。

マイグレーションファイルを編集

こっちにもこのように関連付の記述をします。

マイグレーション実行

モデルに関連付けの定義

recordモデル

このように「through」をつけることで中間テーブルを通して関連付けすることができます。

playerモデル

record_playerモデル

参考

詳細はRailsのガイドに記載がありますのでこちらをご覧ください。
参考 Active Record マイグレーションRAILS GUIDES