はじめに Railsで1つのフォームで複数モデルを扱うときに、accepts_nested_attributes_forを使うサンプルをよく見るのですが、DHH氏が消したいと言っていたり バグが多かったりなど色々問題があるようです。 代わりにFormオブジェクトを使うのが良いと聞いたので、使ってみることにしました。 Formオブジェクトとは 自分の認識だと「サービス層の疑似ActiveRecord」です。 メドピアさんのブログだとこのように説明されていました。 form_withのmodelオプションにActive Record以外のオブジェクトを渡すデザインパターンです。form_withのmodelオプションに渡すオブジェクト自体もform objectと呼びます。 実際に使ってみる ユーザに「希望年収」と「現在の年収」を入力させるフォームを作ってみます。 モデル class User