Rails 3.0.11:parent =在父模型上将调用嵌套模型上的验证

时间:2012-01-19 10:39:30

标签: ruby-on-rails ruby model nested

我在项目上使用Rails 3.0.11时遇到问题。 我有一个叫做Candidate的父模型,它有多个nested_models。

我使用nested_forms以两种方式保存候选人: - >没有验证=>我需要保存“正在进行的工作” - > with validations =>在进入下一步之前

我的问题涉及第一点:“没有验证”。我无法在我的控制器中使用update_attributes进行批量分配,因为它调用了验证。我尝试过一个简单的@ candidate.attributes = params [:candidate],但它也是错的,因为它会在嵌套模型上调用验证(通过经典的保存)。

我的问题是,即使我不保存我的父模型(我只是进行批量分配),也会保存嵌套模型并触发验证......

我做错了吗?

感谢您的帮助。

问候,

的Yoann。

1 个答案:

答案 0 :(得分:0)

似乎有几种方法可以不验证对象,但我不确定它们在使用嵌套属性时的行为:

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

由于您写过您尝试使用update_attributes绕过验证,或许您应该尝试在嵌套模型上进行条件验证。这样的事情可能是:

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