Некоторые методы (создать, уничтожить) сразу попадают в базу данных. Транзакции выполняются с использованием метода транзакции для классов, производных от ActiveRecord, следующим образом:
Student.transaction do
Course.transaction do
course.enroll(student)
student.units += course.units
end
end
(Этот пример для нескольких баз данных. Для одной базы данных требуется только одна транзакция.)
Затем можно выполнить откат для этих транзакций, и исключения, возникшие в транзакции, распространяются после отката.
Это зависит от базы данных, имеющей транзакции.
Примечание: операции сохранения и уничтожения заключены в транзакции.