Rails 3.2:mysql 中的键索引重复条目?

Rails 3.2 : Duplicate entry for key index in mysql?

我正在使用 rails 3.2。这里!我遇到了一个问题,统计信息如下。

我有两个模型 类 RequestedTrip 和 TagTrip。这里!是我在 RequestedTrip 的 before_save 回调和 TagTrip 的 after_update 回调中操作的另外两个模型 RequestedTripAgent 和 Tag。

有一次我遇到了重复输入的问题。案例是...

我正在更新 RequestedTrip 对象。有一个 before_save 回调,我在其中使用 find_or_create_by 来查找或创建 RequestedTripAgent 对象。我还将标签分配给 RequestedTrip 对象,通过该对象在 TagTrip after_update 中触发另一个回调。在 TagTrip after_update 回调中,我还使用了 RequestedTripAgent 相同对象的 find_or_create_by。

这里我使用的是 find_or_create_by,但收到 RequestedTripAgent 的重复键索引错误。我怎么了?

谢谢

before_save 中的

find_or_create_by 可能正在创建资源,并在回调后再次尝试保存相同的资源..将所有内容移动到 after_save 或将其替换为 .first_or_initialize.