Rails更新多个记录。如何检查哪一个更新失败

时间:2018-11-19 06:50:24

标签: ruby-on-rails activerecord

params[:user_ids] = [1,2,3,4]
users = User.where(id: params[:user_ids]).update_all(:status => "DEACTIVATE")
users.blank?

尝试一次更新多个记录,但是在某些情况下,找不到id或任何其他原因status列未更新。

那么,如何获取所有ID,而无法更新记录。

1 个答案:

答案 0 :(得分:0)

实际上,有no wayupdate_all方法跟踪失败的记录。 因为此方法会忽略模型验证和Active Record回调。

阅读this

如果没有找到记录,.where会忽略ids that not present error并返回空白数组。