1
我目前正在使用嵌套窗體/ fields_for,我想知道是否有一種簡單的方法來跳過嵌套屬性的驗證?跳過對Rails 3中嵌套屬性的驗證?
我可以在某處擠一個object.nested_object.save(:validate => false)嗎?
我目前正在使用嵌套窗體/ fields_for,我想知道是否有一種簡單的方法來跳過嵌套屬性的驗證?跳過對Rails 3中嵌套屬性的驗證?
我可以在某處擠一個object.nested_object.save(:validate => false)嗎?
你只需要做你的保存在兩部分。第一節省約父節約和第二部分關於嵌套
如果您在本場嵌套使用accepts_nested_attributes_for
def create
nested_params = params[:object].delete(:nested_attributes)
if object = Object.create(params[:object]) &&
object.update_attributes(nested_params, :validate => false)
redirect_to object_url(object)
else
render :new
end
end
與評論更新從Cojones:
如果你不使用這個選項你需要直接指定nested_attribute之類的解釋評論:
def create
nested_params = params[:object].delete(:nested_attributes)
if object = Object.create(params[:object]) &&
object.nested_object.update_attributes(nested_params, :validate => false)
redirect_to object_url(object)
else
render :new
end
end
請參閱評論以獲取更多信息。
這正是我所需要的。非常感謝! – Cojones 2012-03-02 08:50:17
我試圖將它付諸實踐,但失敗了:未定義的方法'{「user_id」=> ...您確定要調用'update_attribute'嗎?因爲該方法根據API期望屬性的名稱作爲第一個參數。 – Cojones 2012-03-05 09:05:22
是的,這是一個錯誤的問題,它是'update_attributes'我修復它在我的回答 – shingara 2012-03-05 09:16:24