如何在Rails中使用事務塊在一次性更新/保存模型的多個實例?在Rails中的一個ActiveRecord事務中更新多條記錄
我想更新數百條記錄的值;每個記錄的值不同。這是而不是一個屬性的大規模更新情況。 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
似乎發出它自己的事務,而不是分批更新到周圍的事務。我希望所有的更新都能在一個大交易中進行。
我該如何做到這一點?
可以是ActiveRecord的導入[寶石](https://github.com/zdennis/activerecord-import/wiki)將爲你工作.. – tihom