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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |