我的灰燼應用程序使用API(通過DS.ActiveModelAdapter適配器)其中GET "/api/v1/users?username=mcclure.rocio"
等回答了JSON交互像http://localhost:4200/user/mcclure.rocio
這樣的路線是一種用戶的摘要。灰燼ActiveModelAdapter定製
問題是加載在路線的正確型號:
export default Ember.Route.extend(AuthenticatedRouteMixin, {
model: function(params) {
return this.store.find('user', { username: params.username })
}
});
我的灰燼檢查員指出,所加載的模型是一個空DS.AdapterPopulatedRecordArray。這是因爲findQuery(實際上稱爲我提供查詢對象)期望獲取JSON數組,而我的API返回一個單一的用戶 JSON對象,因此它將其轉換爲空數組。
然而this.store.find('user', { username: params.username })
爲我的API構建了正確的請求,但是如何讓Store接受API響應並將其作爲模型傳遞給我的路由?
注: 如果我的API返回一個數組可以做這樣的事情:
export default Ember.Route.extend(AuthenticatedRouteMixin, {
model: function(params) {
return this.store.find('user', { username: params.username }).then(function(data){
return data.objectAtContent(0);
});
}
});
,但是,我不想對其進行修改。
謝謝!使normalizePayload返回一個數組('return {users:[payload.user]}')讓我使用我的筆記中報告的策略。 – masciugo 2014-11-18 11:24:28