订单下的产品,我想确认订单后,把订单下的产品全部 save 了。 就是里面有个方法是这样的:
订单.产品s.each do |产品|
日志 = 日志.new
产品.数量 = 订单.数量
日志.产品 = 产品
ActiveRecord::Base.transaction do
产品.save!
日志.save!
end
end
订单.状态 = true
订单.save
如果按照上面的写法,一个不知道什么原因,导致某些产品或者日志没有保存下来,而又不可以完全回滚上去。 或者订单状态保存失败,也无法把产品和日志进行回滚。 请问用什么样的方法才可以吧:
ActiveRecord::Base.transaction do
产品.save!
日志.save!
.....(有产品和日志)
订单.save!
end
```
放在一个事务里呢?