上記のような一画面に基本情報(宛先、住所)と複数の明細情報(物品名、数量)がある画面で入力された情報を親子関係にある基本テーブル(発送テーブル)と明細テーブル(物品テーブル)に同時に登録したい場合が業務アプリではけっこうあると思います。 Railsではこのようなケースに簡単に対応するための便利機能が用意されています。具体的にはモデルでaccepts_nested_attributes_forという設定を、ビューでfield_forメソッドを利用します。この機能を利用すると以下の2つメリットがあるので是非活用することをオススメします。 ソースコードが短くてすむ ⇒ 後述しますが、特にコントローラー側の記述量は激減します。 明細データへのバリデーション結果が画面にキレイに表示できる ⇒ 親子関係をRailsに認識させることで明細データのバリデーション結果を表示するロジックを個別に実装する必要が
![Rails – 親子テーブルを一度に更新する方法 | 株式会社田村倉庫](https://cdn-ak-scissors.b.st-hatena.com/image/square/72cb1c77ca3e795a3447ac399d523fd19908f1f6/height=288;version=1;width=512/https%3A%2F%2Fwww.tamurasouko.com%2Fwp-content%2Fuploads%2Ftwics_facebook.png)