StackOverflow 文档 Ruby on Rails 教程 ActiveRecord 交易 保存和销毁会自动包装在事务中 保存和销毁会自动包装在事务中 Created: November-22, 2018 #save 和#destroy 都包含在一个事务中,该事务确保你在验证或回调中执行的任何操作都将在其受保护的封面下进行。因此,你可以使用验证来检查事务所依赖的值,或者可以在回调中引发异常以进行回滚,包括 after_*回调。 因此,在操作完成之前,不会在连接之外看到对数据库的更改。例如,如果你尝试在 after_save 中更新搜索引擎的索引,则索引器将不会看到更新的记录。after_commit 回调是提交更新后唯一触发的回调。 回调多个数据库连接