我正在使用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的重复键索引错误。我有什么问题?
由于
答案 0 :(得分:0)
find_or_create_by
中的{p> before_save
可能正在创建资源,并且在回调后它又尝试保存相同的资源。要么将所有内容移动到after_save
或将其替换为{{1} }}