我正在使用Rails3.2。在这里!我面临一个问题,统计如下。
我有两个模型类RequestedTrip和TagTrip在这里!是另外两个模型requestedtripagent和tag,在这两个模型上,我在requestedtrip的save callback之前和tagtrip的update callback之后操作。
有一个我面临重复输入问题的案例。情况是…
我正在更新requestedtrip对象。有一个before_save回调,我使用find_或_create_by来查找或创建requestedtripagent对象。我还将标记分配给RequestedTrip对象,通过该对象,在更新后TagTrip中会触发另一个回调在TagTrip after_update回调中,我还使用了RequestedTripAgent的相同对象的find_或_create_。
在这里,我使用find_或_create_by,但是为RequestedTripAgent获取重复密钥索引错误我怎么了?
谢谢

最佳答案

find_or_create_by中的before_save可能正在创建资源,在回调之后,它将再次尝试保存相同的资源..请将所有内容移动到after_save或用.first_or_initialize替换它。

09-13 09:58