單個事務中的不同 ActiveRecord 類
雖然在某些 ActiveRecord 類上呼叫了事務類方法,但事務塊中的物件不一定都是該類的例項。這是因為事務是按資料庫連線,而不是每個模型。
在此示例中,即使在 Account 類上呼叫了事務,也會以事務方式儲存餘額記錄:
Account.transaction do
balance.save!
account.save!
end
事務方法也可用作模型例項方法。例如,你也可以這樣做:
balance.transaction do
balance.save!
account.save!
end