【问题标题】:Update existing model data更新现有模型数据
【发布时间】:2017-08-03 14:36:01
【问题描述】:

简要介绍一下我们的结构。我们在服务器端使用 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"}}}

【问题讨论】:

    标签: ruby-on-rails ruby ember.js trailblazer ember-engines


    【解决方案1】:

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

    public def set_MODELNAME(options, **)
        MODELNAME = [MODELNAME].find(options['contract.default'].MODELNAME.id)
        options['contract.default'].MODELNAME = MODELNAME
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2020-09-18
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多