【发布时间】:2013-11-21 16:45:24
【问题描述】:
我们有两个模型 - ModelA 和 ModelB。当我们创建/保存 ModelA 的实例时,我们需要为 ModelB 批量插入(需要 ModelA id,ModelA 和 ModelB 之间没有关联)。我们通过在 ModelA 的 after_save 回调中运行后台作业来做到这一点。
问题在于,ModelB 的批量插入不正确,因为 ModelA 没有永久保存在数据库中。所以我们决定使用 after_commit。但是我们还需要 ModelA 的实例状态(在 after_save 中)。我们将此状态分配给 after_save 中的一个变量,并在 after_commit 中访问它。
活动记录 after_Save 和 after_commit 回调在 ModelA 的当前实例上是线程安全的吗?
【问题讨论】:
标签: ruby-on-rails ruby