如果 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
我有 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