複数のアドレスを持つユーザー モデルがあります。レールでの私のアプリケーションでは、アドレスは必須ではありません。したがって、誰かがユーザーを作成し、ユーザーが作成された後にアドレスを入力したい場合、私のアプリケーションはそれを許可する必要があります。私の問題は、Address モデルの場合、Address Line 1、City、および Postal Code の検証があることです。これらのフィールドを空白にすることはできません。ユーザーを編集すると、次のコードが失敗します。
user.addresses << Address.new
Rails は新しい Address を作成しようとし、Insert コマンドを起動します。モデルで必要な検証のために、これは失敗します。ユーザーがデータベースに存在しない場合、上記のコードは失敗しません。この問題の解決策の 1 つは、ユーザーのパーシャル編集用に別個の form_for バインディングを作成することです。私はその解決策をしたくありません。データベース内の既存の User オブジェクトに空の Address オブジェクトをバインドできるソリューションはありますか?