Ember.js 余烬数据-什么';保存记录后更新关系的正确方法是什么?
我使用的是Ember Data 1.0测试版 我有一个这样定义的模型:Ember.js 余烬数据-什么';保存记录后更新关系的正确方法是什么?,ember.js,ember-data,Ember.js,Ember Data,我使用的是Ember Data 1.0测试版 我有一个这样定义的模型: App.Artist = DS.Model.extend({ first_name: DS.attr('string'), last_name: DS.attr('string'), practices: DS.hasMany('practice') }); 当我在api/artists获取模型时,我会得到一个集合,每个艺术家的有效负载包括一个带有ID数组的“practices”属性: { "artis
App.Artist = DS.Model.extend({
first_name: DS.attr('string'),
last_name: DS.attr('string'),
practices: DS.hasMany('practice')
});
当我在api/artists获取模型时,我会得到一个集合,每个艺术家的有效负载包括一个带有ID数组的“practices”属性:
{
"artists": [
{
"id": 2,
"first_name": "An",
"last_name": "Artist",
"practices": [
1,
2
]
},
]
}
到目前为止还不错。余烬魔法发生了,我可以访问“App.Artist”实例的“practices”属性,没问题
现在,当我创建艺术家时,服务器返回以下负载:
{
"artist": {
"id": 38,
"first_name": "New",
"last_name": "Artist",
"practices": [
4
]
}
}
该模型将使用其新id进行更新。但是,当我访问“实践”时,我得到的是原始数组值,而不是我期望的相关模型实例
那么,在创建了具有关系的记录之后,我是否必须手动将相关对象添加回实例?或者我可以触发模型来重新同步它的关系吗
提前感谢您的任何见解
更新:
由于保存操作完成后未反序列化模型,因此关系似乎丢失。模型可以推回存储,这将导致数据被反序列化
因此,根据上面的代码,如果我有一个App.Artist的实例作为Artist
,那么
artist.get('store').push('artist', artist.get('data'));
将导致关系可用。但是,我仍然不确定这是否“正确”。这确实是一个bug,正在修复中。执行提交后,应自动维护关系