Допустим, у меня есть 15 идентификаторов пользователей в массиве с именем user_ids
.
Если я хочу, скажем, изменить все их имена на «Боб». Я мог бы сделать:
users = User.find(user_ids)
users.update_all( :name => 'Bob' )
Однако это не вызывает обратных вызовов. Если мне нужно инициировать обратные вызовы при сохранении этих записей, то, насколько мне известно, единственный способ - использовать:
users = User.find(user_ids)
users.each do |u|
u.name = 'Bob'
u.save
end
Однако это потенциально означает очень долгую задачу в действии контроллера.
Итак, мой вопрос, есть ли любой другой лучший / более производительный / более удобный способ инициировать пакетное обновление набора записей, который вызывает обратные вызовы для записей?