我有 2 个模型想要更新 假设我有交易和产品
我想先更新交易,然后更新产品 但由于某些原因我未能更新产品,我可以在 Rails 中回滚产品和交易吗?如何 ? :D
最佳答案
您想要做的是将其放入单个事务中。如果发生任何错误,它将回滚该 block 中所做的所有操作
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
关于ruby-on-rails - 如果 Rails 中 2 个模型中的一个更新失败,则回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61368635/