Tag: transactions

在Rails中的一个ActiveRecord事务中更新多个记录

如何使用Rails中的事务块一次更新/保存模型的多个实例? 我想更新数百条记录的值; 每条记录的值都不同。 这不是一个属性的批量更新情况。 Model.update_all(attr:value)在这里不合适。 MyModel.transaction do things_to_update.each do |thing| thing.score = rand(100) + rand(100) thing.save end end save似乎发布了它自己的事务,而不是将更新批处理到周围的事务中。 我希望所有更新都进入一次重大交易。 我怎么能做到这一点?