nested_attributesなデータをseeds.rbで一括して投入する
はじめに
Railsを利用していると、nested_attributesを利用する場面が多々発生するかと思います。親子関係にある複数のモデルを一括して管理できる、非常に便利な機能だと思います。ただ、こちらを利用した場合に、db/seeds.rbはどのように与えればいいのでしょうか。
実装
nested_attributesをdb/seeds.rbで扱う場合には、親要素が持つ子要素へのアクセサ*_attributesに対して、ハッシュの形でパラメータを与えると、親要素のcreate!により一括してインスタンスを生成することができます。
上記は「novel > chapter > section」のようなhas_manyの関係にある各モデルについて、そのインスタンスをnovel#create!により、一括して生成する場合のdb/seeds.rbとなります。