gpt4 book ai didi

ruby-on-rails - update_attribute 与 update_attributes Rails 4

转载 作者:行者123 更新时间:2023-12-03 16:02:11 29 4
gpt4 key购买 nike

我正在尝试在某个操作后更新对象的属性。如果我使用 update_attribute,一切都会正确保存到数据库中,但我有很多需要更新的东西,所以它变得非常重复。

这工作正常:

order.update_attribute(:order_completed, "true")
order.update_attribute(:stripe_email, params[:stripeEmail])

但是,当我尝试使用 update_attributes 时,我的数据不会保存到数据库中。

这是代码:
order.update_attributes(order_completed: "true", stripe_email: params[:stripeEmail])

有没有人看到我的错误在哪里?从我读过的所有应该有效的内容来看。谢谢你的帮助!

最佳答案

update_attributes 将触发验证,而 update_attribute 将不会。如果您知道要绕过验证,那么从 Hash 中保存属性的最佳方法是执行以下操作:

order.attributes = { order_completed: "true", stripe_email: params[:stripeEmail] }
order.save(validate: false)

要查看失败的原因,请查看 order.errors或将您的电话更改为 update_attributes! (使用 ! )将引发异常,显示验证失败。

Rails 4 更新
update_attributesupdate_attributes! update 的别名和 update! 在 Rails 4+ 中。

关于ruby-on-rails - update_attribute 与 update_attributes Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29523455/

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