次の2つのモデルがあります。
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"
}
]
}
今私の質問:
レコードを更新するdomain
と、 foreignKey は更新されません。このダーティ レコードをコミットしようとすると、ember は古いレコードをサーバーに送信します。私のコードで何が間違っていますか? このように を更新するためのフィールドを更新することはできませんか?user
domain_id
domain_id
belongsTo
foreignKey
>>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