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

ruby-on-rails – 当update_all失败时会发生什么?

发布时间:2020-12-17 04:14:31 所属栏目:百科 来源:网络整理
导读:RoR中有update_all方法 如果update_all失败,它会返回什么?会引发例外吗? 例如: ActiveRecord::Base.transaction do users = User.active users.update_all avatar: 'blablablb'end 解决方法 update_all是跳过验证和回调的众多方法之一.因此,在调用update_
RoR中有update_all方法

如果update_all失败,它会返回什么?会引发例外吗?

例如:

ActiveRecord::Base.transaction do
  users = User.active
  users.update_all avatar: 'blablablb'
end

解决方法

update_all是跳过验证和回调的众多方法之一.因此,在调用update_all时,不会运行任何ActiveRecord验证.

但是,如果update_all调用不符合数据库级别的约束,或者在数据库中触发异常,则ActiveRecord将抛出ActiveRecord :: StatementInvalid异常并将从update_all中断而不返回值,如任何其他例外.

跳过验证的其他ActiveRecord方法包括:

>递减!> decrement_counter>增量!> increment_counter>切换!>触摸> update_attribute> update_column> update_counters

(编辑:李大同)

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

    推荐文章
      热点阅读