0
我有一個功能可以將一些數據保存到同一個mysql數據庫中的多個表中。 在函數內部,ActiveRecord回滾多筆交易
def process_data(dataA, dataB, dataC, dataD)
# let's say dataA is saved to tableA, dataB to tableB, dataC to tableC, dataD to tableD
ActiveRecord::Base.transaction do
begin
tableA.create(:dataA => dataA)
tableB.create(:dataB => dataB)
tableC.create(:dataC => dataC)
tableD.create(:dataD => dataD) # let's say error occurred here
rescue
ActiveRecord::Rollback
end
end
end
如果有一個例外,同時創造新的記錄提交,我想回滾一切(數據A,數據B,DATAC)。
我該如何實現它?
謝謝。
加'raise'修好了。謝謝。 –