【发布时间】:2017-08-22 15:08:28
【问题描述】:
我正在尝试在我的 postgres 数据库中保存来自 excel 文件的对象列表。它必须在事务中完成。
从下面的代码中,我无法从无效案例回滚事务。一些无效案例之前的对象被保存,然后交易结束。
class UploadFile < ApplicationRecord
# Others validations
def save_from_file
# open file
Product.transaction do
begin
(2..file.last_row).each do |n|
product = Product.new(id: file.cell(n,1), price: file.cell(n,2))
product.save!
end
rescue ActiveRecord::RecordInvalid
raise ActiveRecord::Rollback
end
end
end
end
【问题讨论】:
标签: ruby-on-rails transactions rails-postgresql