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

时间:2017-06-07 05:42:47

标签: mysql ruby ruby-on-rails-3 rails-activerecord

我正在使用rails 3.2。这里!我正面临一个问题,统计数据如下。

我有两个模型类RequestedTrip和TagTrip。这里!还有另外两个模型RequestedTripAgent和Tag,我在其中使用了RequestedTrip的before_save回调和TagTrip的after_update回调。

有一种情况我面临重复录入问题。案件是......

我正在更新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的重复键索引错误。我有什么问题?

由于

1 个答案:

答案 0 :(得分:0)

find_or_create_by中的{p> before_save可能正在创建资源,并且在回调后它又尝试保存相同的资源。要么将所有内容移动到after_save或将其替换为{{1} }}