2012-01-19 56 views
2

我在項目上使用Rails 3.0.11時遇到問題。 我有一個父模型叫Candidate has_one許多nested_models。Rails 3.0.11:attributes =在父模型上將調用嵌套模型上的驗證

我用nested_forms保存候選人在兩個方面: - >無驗證=>我要救「工作進行中」 - 用纔去下一個步驟驗證=>>

我的問題是關於第一點:「沒有驗證」。我無法使用update_attributes在我的控制器中進行批量分配,因爲它會調用驗證。我嘗試了一個簡單的@ candidate.attributes = params [:candidate],但它也是錯誤的,因爲它會調用嵌套模型的驗證(通過經典保存)。

我的問題是,即使我不救我父模型(我只是在做一個大衆分配),嵌套的模型將被保存並驗證觸發...

難道我做錯了什麼?

感謝您的幫助。

Regards,

Yoann。

回答

0

好像有幾種方法無法驗證的對象,雖然我不知道是肯定的使用嵌套的屬性時,他們如何做人:

http://guides.rubyonrails.org/active_record_validations_callbacks.html

既然你寫的,你已經嘗試繞過驗證使用update_attributes,也許你應該嘗試條件驗證,而不是你的嵌套模型。像這樣的東西可能是:

validates :some_stuff, :presence => true, :if => Proc.new { |record| record.parent.complete? }