加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – has_many:autosave => true保存子项时跳过

发布时间:2020-12-17 03:22:01 所属栏目:百科 来源:网络整理
导读:在Rails 2和Rails 3中,如果:autosave =如果是has_many关联,则会循环收集并在每个子关联上调用save(:validate = false).这是为什么?我们需要一个before_validation回调来为该子对象运行,但它不会,因为它是一个跳过验证的保存. 这有什么好办法?跳过验证的
在Rails 2和Rails 3中,如果:autosave =>如果是has_many关联,则会循环收集并在每个子关联上调用save(:validate => false).这是为什么?我们需要一个before_validation回调来为该子对象运行,但它不会,因为它是一个跳过验证的保存.

这有什么好办法?跳过验证的目的是什么?

任何帮助将非常感激!谢谢!

解决方法

验证确实会运行.有一个验证阶段和一个保存阶段. AutoSave尝试同时为这两个模型执行这两个阶段.因此,在保存父模型后,将验证父模型,然后验证其自动保存子项.验证通过后,将发生保存阶段,保存父模型并保存子模型(但跳过验证).原因是因为验证已经运行.

当我在before_save回调期间尝试在父级内部构建子模型时,我遇到了一个问题.因此,在验证阶段,相关对象无法进行验证.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读