繁体   English   中英

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

[英]Rails 3.0.11 : attributes= on a parent model will call validations on nested models

我在一个项目上使用Rails 3.0.11时遇到问题。 我有一个名为Candidate的父模型,该模型具有多个nested_models。

我使用nested_forms以2种方式保存候选:->未经验证=>我需要保存“进行中的工作”->具有验证=>进行下一步

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

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

难道我做错了什么 ?

谢谢你的帮助。

问候,

尹恩

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

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

由于您已经编写了使用update_attributes尝试绕过验证的方法,因此也许应该在嵌套模型上尝试使用条件验证。 可能是这样的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM