Kel*_*lly 4 ruby-on-rails ruby-on-rails-4
我试图在某个动作后更新对象的属性.如果我使用update_attribute,一切都正确地保存到数据库,但我有很多东西需要更新,所以它变得非常重复.
这很好用:
order.update_attribute(:order_completed, "true")
order.update_attribute(:stripe_email, params[:stripeEmail])
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用update_attributes时,我的数据不会保存到db.
这是代码:
order.update_attributes(order_completed: "true", stripe_email: params[:stripeEmail])
Run Code Online (Sandbox Code Playgroud)
有谁看到我的错误在哪里?从我读过的所有应该有效的东西.谢谢你的帮助!
pdo*_*obb 15
update_attributes将触发验证,而update_attribute不会.如果您知道要绕过验证,那么从Hash中保存属性的最佳方法是:
order.attributes = { order_completed: "true", stripe_email: params[:stripeEmail] }
order.save(validate: false)
Run Code Online (Sandbox Code Playgroud)
要查看失败的内容,请查看order.errors或更改您的调用update_attributes!(使用!),这将引发显示验证失败的异常.
update_attributes而update_attributes!对于别名update和update!Rails中4+.
| 归档时间: |
|
| 查看次数: |
5303 次 |
| 最近记录: |