对此不知所措。
我正在使用Ember和Ember数据。我有额外的ic-ajax实现来进行GET,POST和PUT调用。无论如何,我正在尝试进行GET调用,然后将这些结果转换为模型实例。
return this.GET('/editor')
.then((data) => {
return data.drafts.map((draftData) => {
let draft = this.store.find('draft',draftData.id);
console.log(draft.get('type'));
return draft;
});
});
我的API会将正确的数据作为data.drafts
返回。此映射应该返回一组解析为draft
模型的promise。它不是。它解析为draft
模型,其中包含id
,date
和title
。但就是这样。我有25个其他归因。
在应用程序的另一部分中,我在模型上使用findAll
获取草稿。这些模型看起来很好。但是当我尝试store.findRecord('draft',id)
时,我会得到这些假物品。
- 编辑
这是我的ReOpenClass方法从服务器获取对象数组并将它们转换为ember对象的样子
search(critera) {
let query = { search: critera };
let adapter = this.store.adapterFor('application');
let url = adapter.buildURL('article','search');
return adapter.ajax(url,'GET', { data: query }).then(response => {
let articleRecords = response.articles.map((article) => {
let record;
try {
record = this.store.createRecord('article', article);
} catch(e) {
record = this.store.peekRecord('article', article.id);
}
return record;
});
return articleRecords;
});
},
到目前为止,我找不到更好的办法来解决这个问题。