如何在API调用上使用ActiveRecord事务来保存多个记录

时间:2012-05-29 12:49:46

标签: ruby-on-rails

我有一个API,它接受1个XML中的以下数据(对象)。 API将此XML转换为相应的对象并将其保存在DB中。

User
--> Location
--> Payment data

Order
--> Bill Item

我想实现类似这样的交易

___.transaction do

User.create
--> Location.create
--> Payment.create

Order.create
--> Bill Item.create

end

在这种情况下可以使用交易吗?

1 个答案:

答案 0 :(得分:1)

当然,你可以在ActiveRecord中完成。只需引发异常即可回滚事务。

User.transaction do
  User.create
  Location.create
  Payment.create

  Order.create
  Bill Item.create
end

查看更多详情 http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html