Làm cách nào để cập nhật/lưu nhiều phiên bản của một mô hình trong một lần chụp, sử dụng khối giao dịch trong Rails?Cập nhật nhiều bản ghi trong một giao dịch ActiveRecord trong Rails
Tôi muốn cập nhật giá trị cho hàng trăm bản ghi; các giá trị khác nhau cho mỗi bản ghi. Đây là không phải tình huống cập nhật hàng loạt cho một thuộc tính. Model.update_all (attr: value) không thích hợp ở đây.
MyModel.transaction do
things_to_update.each do |thing|
thing.score = rand(100) + rand(100)
thing.save
end
end
save
dường như phát hành giao dịch của chính nó, thay vì thực hiện các cập nhật cho giao dịch xung quanh. Tôi muốn tất cả các bản cập nhật được thực hiện trong một giao dịch lớn.
Tôi làm cách nào để thực hiện việc này?
có thể là activerecord-import [gem] (https://github.com/zdennis/activerecord-import/wiki) sẽ làm việc cho bạn .. – tihom