Rails创建事务

在创建新用户(在我的用户模型中)时,我也想创建一个条带客户。 只有当他们一起成功时才能完成这两项行动(就像我不希望没有用户的客户,反之亦然)。 出于这个原因,我认为将它们包装在一个事务中是个好主意。 但是,我一定不能正确地做到这一点。 我不相信我正确覆盖了create方法。 如果有人有一个建议作为更好的方式来做到这一点或我做错了,将不胜感激。 谢谢!

def create User.transaction do super create_stripe_customer(self) end end def destroy User.transaction do super delete_stripe_customer(self) end end 

我已经对你的问题进行了一些研究,只要在失败的情况下引发exception,使用after_create似乎就可以了。 这也将回滚交易。 只需使用默认的回调。

这是一个与问题相关的好答案。