今回は、モデルの関連付けで用いられるbuildメソッドについて解説したいと思います。アソシエーションの記述によって、buildメソッドの書き方は異なってくるので、この機会におさらいしておきましょう。この記事の内容buildメソッドとはbuildメソッドの記述方法アソシエーションが1対1アソシエーションが1対多アソシエーションが多対多まとめbuildメソッドとはbuildメソッドとは、インスタンスを生成するメソッドです。モデルの関連付けでもbuildメソッドは用いられます。インスタンスを生成するメソッドは他にnewメソッドがありますが、buildメソッドとの違いはありません。以下の文言にもあるように、モデルの関連付けの際はbuildメソッドを使う約束があるようです。暗黙の了解で、モデルを関連付けした時にはbuildを使うみたいな感じになっています。Qiitabuildメソッドの記述方法では次にbuildメソッドの記述方法について見ていきましょう。buildメソッドの書き方には、以下の3つのパターンで異なります。アソシエーションが1対1アソシエーションが1対多アソシエーションが多対多アソシエーションが1対1モデルの記述が以下の場合だと仮定します。:userendこの場合では、モデルの関連付けの記述は以下のようになります。1対1の場合では、「build_関連付けのメソッド名」となることを覚えておきましょう。@user.build_cardアソシエーションが1対多モデルの記述が以下の場合だと仮定します。:userendこの場合では、モデルの関連付けの記述は以下のようになります。1対多の場合では、「関連付けメソッド名.build」となることを覚えておきましょう。@user.cards.buildアソシエーションが多対多モデルの記述が以下の場合だと仮定します。中間テーブルとして、group_userモデルを作成しています。:userendこの場合でのモデルの関連付けの記述は以下のようになります。多対多の場合では、1対多の場合と同じで「関連付けメソッド名.build」となることを覚えておきましょう。@user.groups.buildこうすることで、中間テーブルであるgroup_usersテーブルにも自動的に反映されるようになります。まとめ1対1の場合では、「build_関連付けのメソッド名」となる1対多の場合では、「関連付けメソッド名.build」となる多対多の場合では、「関連付けメソッド名.build」となる今回はモデルの関連付けで用いられるbuildメソッドについて解説しました。アソシエーションの記述によってbuildメソッドの使い方は変わってくるので、ぜひこの機会に理解しておきましょう。yoshi19941117TechTechMedia【Rails】ログイン機能を実装する上で必要不可欠な「Session」に...【Rails】Wizard形式のユーザー登録をdeviseを用いて実装す...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。