2
我有一個HAS_ONE關係必須存在:的Rails輸了球嵌套屬性子上的形狀誤差
has_one :child, :dependent => :destroy
validates_presence_of :child
在我控制我建立孩子對新搭配:
@parent.build_child
當表單提交如果出現錯誤,渲染最終會丟失內置的孩子。這會導致我的fields_for爲空,從而阻止用戶輸入所需的子字段。有任何想法嗎?
你意識到'build_'方法不保存任何東西DB?你爲什麼期望你的孩子通過重定向被拯救?通常的方法是再次顯示「編輯」視圖並顯示有關錯誤的信息。注意:'render',而不是'redirect_to'。因此,您的視圖將填充您預期的不完整數據。 – jdoe 2012-04-25 15:44:26
我渲染不重定向。對不起,不清楚,我在帖子中改變了它。 – nfed 2012-04-25 16:18:34
所以你打電話給'@ parent.build_child',然後呢?你渲染一些視圖來填充有關孩子的數據(該窗臺不存儲在數據庫中)?填充表單的結果被傳遞給'children_controller#create',對吧?這是你試圖通過「@ parent」訪問你的「孩子」的地方嗎? – jdoe 2012-04-25 16:46:20