0

简要介绍一下我们的结构。我们在服务器端使用 Ruby on Rails 和 Trailblazer 框架。在客户端 Ember 和 Ember 引擎上。

现在我们遇到了一些模型在父亲中的问题,即实际的 Ember 应用程序和引擎中的一些模型。现在引擎中的模型仍然与父应用程序中的模型有关系。如果我现在想从这个模型更新数据,引擎模型工作得很好,关系(在父亲中)他总是做一个插入而不是更新。当然,存在条目已存在的错误。

ActiveRecord::RecordNotUnique - PG::UniqueViolation: 错误:重复键值违反唯一约束“contacts_pkey” 详细信息:键 (id)=(1) 已存在。

任何人都知道如何解决问题并更新引擎模型和父亲模型?在 Ember Store 中,一切都正确链接,数据也正确分布到关系中。服务器上有以下内容:

Parameters: {"data"=>{"attributes"=>{"patient-number"=>1, "email"=>nil, "employer"=>"", "foreign-doctor"=>"", "family-doctor"=>"", "patient-since"=>"2017-08-02T00:00:00.000Z", "job"=>"", "lab"=>"", "last-therapy"=>"2017-08-02T00:00:00.000Z", "payment-deadline"=>28, "rating"=>1, "recall-type"=>nil, "recommended-by"=>"", "phrophylaxis-user"=>nil, "created-at"=>nil, "updated-at"=>nil, "contact-id"=>nil, "import-id"=>nil}, "relationships"=>{"contact"=>{"data"=>{"type"=>"contacts", "id"=>"1"}}, "customer"=>{"data"=>{"type"=>"customers", "id"=>"1"}}, "patient-insurances"=>{"data"=>[]}, "users"=>{"data"=>[{"type"=>"users", "id"=>"1"}]}, "person"=>{"data"=>{"type"=>"people", "id"=>"1"}}}, "type"=>"patients"}, "id"=>"1", "patient"=>{"data"=>{"attributes"=>{"patient-number"=>1, "email"=>nil, "created-at"=>nil, "updated-at"=>nil}, "relationships"=>{"contact"=>{"data"=>{"type"=>"contacts", "id"=>"1"}}, "person"=>{"data"=>{"type"=>"people", "id"=>"1"}}}, "type"=>"patients"}}}
4

1 回答 1

0

我找到了解决方案。在行动中缺少这个:

public def set_MODELNAME(options, **)
    MODELNAME = [MODELNAME].find(options['contract.default'].MODELNAME.id)
    options['contract.default'].MODELNAME = MODELNAME
end
于 2017-08-08T08:39:59.020 回答