この記事は Money Forward Advent Calendar 2018 15日目の記事です。
こんにちは、マネーフォワードでマネーフォワードクラウドの開発をしている @kamille です。
今年の10月に新卒で入社して、今はマネーフォワードクラウドの全体的な課題を解決する横断チームにてRailsエンジニアをしています。
今日はRailsの accepts_nested_attributes_for
メソッドについてお話したいと思います。
はじめに
突然ですが皆さん accepts_nested_attributes_for
は好きですか?僕は複数リリースの同時保存・更新が超お手軽にできて素敵なコンセプトだなと思います。
でもこのメソッドはあまり評判が良くなく、特にRails生みの親のDHHがaccepts_nested_attributes_forを消したいと言っていたり、代わりとなる公式なformオブジェクトのプロジェクトが立ち上がったり(残念ながら途中でなくなってしまったようです 😥 )している等、あまりいいメソッドと思われていないようです。
社内でも accepts_nested_attributes_for
は今後は使わないようにして、既存のコードもリプレイスしていく活動が始まっているので accepts_nested_attributes_for
を使わずに、 FormObject を使って複数リリースの同時保存を行うコードを書いてみました。