У меня есть функция для сохранения некоторых данных для нескольких таблиц в той же базе данных 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
Если есть исключение при создании новой записи внесенной, я хочу, чтобы откатить все (dataA, dataB, Datac).
Как я могу это достичь?
Спасибо.
добавление 'рейза' исправил его. Спасибо. –