如果 Rails 中 2 个模型的一次更新失败则回滚

Rollback if one update failed in 2 models in Rails

我有 2 个模型要更新 假设我有交易和产品

我想先更新交易再更新产品 但由于某些原因我未能更新产品,我可以在 rails 中回滚产品和交易吗??如何 ? :D

您要做的是将其放入单个事务中。如果发生任何错误,它会回滚块中所做的所有操作

https://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html

begin
  ActiveRecord::Base.transaction do
    @transaction.save!
    @product.save!
  end
  #handle success here
rescue ActiveRecord::RecordInvalid => invalid
   #handle failure here
end