gpt4 book ai didi

ruby-on-rails - rails 3.0.11 : attributes= on a parent model will call validations on nested models

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:12 25 4
gpt4 key购买 nike

我在项目中使用 Rails 3.0.11 时遇到问题。我有一个名为 Candidate 的父模型,它有_one many nested_models。

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

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

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

我做错了什么吗?

感谢您的帮助。

问候,

姚安。

最佳答案

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

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

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

验证 :some_stuff, :presence => true, :if => Proc.new { |record|记录.parent.complete? }

关于ruby-on-rails - rails 3.0.11 : attributes= on a parent model will call validations on nested models,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8924623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com