基本的例子

例如:

ActiveRecord::Base.transaction do
  david.withdrawal(100)
  mary.deposit(100)
end

这个例子只会从大卫那里取钱,如果既不提取也不存款都会引发异常。异常将强制 ROLLBACK 将数据库返回到事务开始之前的状态。但请注意,对象不会将其实例数据返回到事务前状态。