has_many
Address(es) と多くの Phone(s)の Company モデルがあります。
住所belong_to
会社と電話番号。
edit
私の問題は、会社の特定の住所と電話番号を取得する方法がわからないことです。
私のedit
アクションでは、特定のレコードを呼び出してインスタンス変数に割り当てます (つまり、@address = 必要な特定のアドレスをスコープ検索したもの)。次に、fields_for
I でこの子の属性を参照します。例:
<%= f.fields_for :addresses, @address do |address| %>
A) これが正しい方法かどうかはわかりません。編集のために親の特定の子にアクセスする方法に関するドキュメントはまばらです。
B) これはupdate
成功した場合は正常に機能しますが、失敗した場合render :edit
、ビューは親の現在の子 (edit
アクションで指定したもの + 別の子 - 一見次の行のレコード) を含む追加のフィールドを表示します。
したがって、基本的に、私のフォームはrender :edit
が呼び出されたときに 2 つの子で拡張されます。変。
これはどうしたの?ネストされた属性はどのように機能しますか? 複数のモデルが関連付けられたフォームを管理するためのより良い方法はありますか?
ありがとう。