簡體   English   中英

如何更新余燼數據中的關系

[英]How to update relationships in ember-data

我有以下兩種模型:

App.Domain = DS.Model.extend({
    name: attr('string'),
    users: DS.hasMany('App.User')
});
App.User = DS.Model.extend({
    user: attr('string'),
    domain: DS.belongsTo('App.Domain')
});

Domain已加載到嵌入的User記錄中:

DS.RESTAdapter.map('App.User', {
    domain: { embedded: 'load' }
});

如果我得到JSON數據,則ember-data將正確地解釋該數據。

GET /users

{
    "users": [
        {
            "id": 1,
            "domain_id": 1,
            "user": "test",
            "domain": {
                "id": 1,
                "name": "example.com"
            }
        }
    ]
}

我的域如下所示:

GET /domains

{
    "domains": [
        {
            "id": 1,
            "name": "example.com"
        },
        {
            "id": 2,
            "name": "example.org"
        }
    ]
}

現在我的問題是:

如果我更新domainuser記錄domain_id外鍵將不會被更新。 如果我嘗試提交此臟記錄,則ember會將舊的domain_id發送到服務器。 我的代碼有什么問題? 我不能以這種方式更新用來更新foreignKeybelongsTo字段嗎?

>>var user = App.User.find(1);
>>user.get('domain.id')
1
>>var newDomain = App.Domain.find(2);
>>newDomain.get('id')
2
>>user.set('domain', newDomain)
>>user.get('isDirty')
true
>>user.get('domain.id')
2
>>user.get('domain_id')
1

我認為您需要首先提交,以更新domain_id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM