單個事務中的不同 ActiveRecord 類

雖然在某些 ActiveRecord 類上呼叫了事務類方法,但事務塊中的物件不一定都是該類的例項。這是因為事務是按資料庫連線,而不是每個模型。

在此示例中,即使在 Account 類上呼叫了事務,也會以事務方式儲存餘額記錄:

Account.transaction do
  balance.save!
  account.save!
end

事務方法也可用作模型例項方法。例如,你也可以這樣做:

balance.transaction do
  balance.save!
  account.save!
end