Rails Обновить несколько записей. Как проверить, какой из них не удалось обновить - PullRequest
0 голосов
/ 19 ноября 2018
params[:user_ids] = [1,2,3,4]
users = User.where(id: params[:user_ids]).update_all(:status => "DEACTIVATE")
users.blank?

Попытка обновления нескольких записей одновременно, но в некоторых случаях идентификатор не найден или по любой другой причине status столбец не обновляется.

Так как же получить все идентификаторы, где не удалось обновить записи.

1 Ответ

0 голосов
/ 19 ноября 2018

На самом деле существует no way для отслеживания неудачной записи методом update_all.так как этот метод игнорирует проверку модели и обратные вызовы Active Record.

read this

И .where игнорирует ids that not present error и возвращает пустой массив, если запись не найдена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...