と呼ばれる配列に15のユーザーIDがあるとしましょうuser_ids
。
たとえば、すべての名前を「Bob」に変更したい場合は、次のようにします。
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
ただし、これは、コントローラーアクションで非常に長時間実行されるタスクを意味する可能性があります。
だから、私の質問は、レコードのコールバックをトリガーするレコードのセットへのバッチ更新をトリガーする他のより良い/より高いパフォーマンス/より簡単な方法はありますか?