我在当前任务中使用Active Record Transactions。我可以用下面提到的两种方式完成我的工作。但我不清楚有什么不同,在transactioninstance上调用class方法。
我已经通过了railsAPI,但没有注意到任何差异。
以下两种transaction方法的用法有什么区别?

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

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

提前谢谢!

最佳答案

没有区别,实例方法只是将执行委托给类方法。代码如下:

def transaction(options = {}, &block)
  self.class.transaction(options, &block)
end

关于ruby-on-rails - 实例和类的ActiveRecord事务块之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31320464/

10-16 22:41