2
上の属性の子を入れ子に失う:私のコントローラでレールは、私が存在している必要がありhas_oneの関係を持っているフォームのエラー
has_one :child, :dependent => :destroy
validates_presence_of :child
私は新しい上の子を構築して:
フォームが送信される@parent.build_child
エラーが発生すると、レンダリングはビルドされた子を失うことになります。これにより、fields_forが空白になり、ユーザーが必要な子フィールドを入力できなくなります。何か案は?
:
をすることになりましたの?あなたはなぜあなたの子供がリダイレクトによって救われると思いますか?エラーについての情報を表示することで 'edit'ビューを再描画する共通のアプローチです。注: 'redirect_to'ではなく' render'です。したがって、ビューには不完全なデータが表示されます。 – jdoe
リダイレクトしないようにレンダリングしています。申し訳ありませんが、私はポストでそれを変更明確ではなかった。 – nfed
だから、 '@ parent.build_child'を呼び出して何をしていますか?子についてのデータを埋めるために(DBに格納されていない)ビューをレンダリングしますか?フォームを塗りつぶした結果は、 'children_controller#create'に渡されます。それはあなたが '@親 'を通してあなたの'子供'にアクセスしようとしている場所ですか? – jdoe