ruby-on-rails - Rails 更新多条记录。如何检查哪个更新失败
问题描述
params[:user_ids] = [1,2,3,4]
users = User.where(id: params[:user_ids]).update_all(:status => "DEACTIVATE")
users.blank?
尝试一次更新多条记录,但在某些情况下找不到 id 或任何其他原因status
列未更新。
那么如何获取所有ID,其中未能更新记录。
解决方案
实际上有方法no way
跟踪失败的记录update_all
。因为此方法忽略模型验证和 Active Record 回调。
读这个
如果没有找到记录,则.where
忽略ids that not present error
并返回空白数组。
推荐阅读
- excel - 在excel中绘制重复的分类数据
- spring - 未能部署第一个 Spring Boot 应用程序
- connection-pooling - 没有与 Jersey、ApacheConnectorProvider 和 PoolingHttpClientConnectionManager 重用的连接
- pyspark - Pyspark - 对于每个 ID,我希望过滤在两个 id 匹配的数据之后出现的数据
- angular - Angular:如何将 mat-option 和所选选项的可见文本放在一起?
- visual-studio - 如何在 VS 的表格项目中将具有文本数据格式的列与另一列具有文本数据格式的列排序?
- angular - 在Angular中创建动态反应表单时无法将变量设置为FormControl名称
- iframe - 在 iFrame 下为 Safari 加载网页时 CSS 损坏
- github-pages - 将 master 分支中的更改推送到 gh-pages 分支
- android - Exoplyaer 不会将当前位置从服务返回到活动?