1

我有一个模型,当插入一条记录时,需要调用一个web服务。Rails 3:取消插入after_save

如果Web服务失败(超时或其他失败),则它们还应该还原数据库中的保存。

我使用after_save回调,并试图在发生这种错误时引发ActiveRecord :: Rollback。

虽然它在object.save上返回false,但它不回滚事务。这样做的正确方法是什么?

我怎样才能确保记录不会被创建?

回答

1

尝试使用before_save,并从中返回false。

+0

这会触发更新以及 –

+0

您可以检查模型中的'id'问题。只有在插入数据库之后,'id'才会出现。 –