单个事务中的不同 ActiveRecord 类
虽然在某些 ActiveRecord 类上调用了事务类方法,但事务块中的对象不一定都是该类的实例。这是因为事务是按数据库连接,而不是每个模型。
在此示例中,即使在 Account 类上调用了事务,也会以事务方式保存余额记录:
Account.transaction do
balance.save!
account.save!
end
事务方法也可用作模型实例方法。例如,你也可以这样做:
balance.transaction do
balance.save!
account.save!
end