Gle*_*sky 11 activerecord ruby-on-rails
RoR中有update_all方法
如果update_all失败,它会返回什么?它会引发异常吗?
例如:
ActiveRecord::Base.transaction do
users = User.active
users.update_all avatar: 'blablablb'
end
Run Code Online (Sandbox Code Playgroud)
Ant*_*y E 10
update_all是跳过验证和回调的众多方法之一.因此,调用时不会运行任何ActiveRecord验证update_all.
但是,如果update_all调用不符合数据库级别的约束,或以其他方式触发数据库中的异常,则ActiveRecord将抛出ActiveRecord::StatementInvalid异常,并且会在update_all不返回值的情况下中断,就像任何其他异常一样.
跳过验证的其他ActiveRecord方法包括: