Bus*_*ark 5 ruby activerecord ruby-on-rails
所以我一直在解决这个我一直遇到的错误,我终于发现了导致它的原因.当我打电话时,我一直都有这样的印象
@my_model.save(false)
Run Code Online (Sandbox Code Playgroud)
我将跳过我的ActiveRecord验证.事实证明这是部分正确的.我的对象正在保存到数据库DESPITE我的ActiveRecord验证.我的问题存在,因为我的一个验证在验证过程中修改了一个子模型(这是一个24小时位置的调度应用程序,因此当保存午餐时,我会在他们保存的那天检查它们,第二天同时确保用户并不意味着"凌晨2点"换班.
我的问题是:有没有办法实际跳过我的验证并直接进入数据库?这是正常的ActiveRecord行为还是我应该深入了解我的验证?或者我运气不好,需要重新编写我的验证?
您可能希望在将记录保存到数据库之前使用before_create或其他回调与记录进行交互,而不是尝试在验证程序中执行此操作.
以下是有关ActiveRecord回调的文档:http: //api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
还有一个关于使用回调的指南,其中包含有关如何跳过它们的一些细节:http: //guides.rubyonrails.org/activerecord_validations_callbacks.html
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |