2015-09-22 4 views
0

Я не могу заставить Ember Data работать с моим API-интерфейсом. Сейчас мой API, как так:Модель Ember Data 2.0 не получит записи

{ 
    data: [ 
    { 
     id: 1, 
     name: "Some Company", 
     primary_contact: "Bob Smith" 
    }, 
    { 
     id: 2, 
     name: "Another Company", 
     primary_contact: "Bob Smith" 
    }, 
    ] 
} 

Я знаю, что Эмбер хочет ключ быть организации, а затем данные, но это просто не представляется возможным. Я пытался заставить его работать с сериализатором, и я не знаю, даже ли я на правильном пути. Вот что я сейчас имею.

export default DS.RESTSerializer.extend({ 
    normalizeResponse: function(store, primaryModelClass, payload, id, requestType) { 
    var pluralTypeKey = Ember.String.pluralize(requestType.typeKey); 
    payload[pluralTypeKey] = payload['data']; 
    delete payload['data']; 

    return this._super(store, primaryModelClass, payload, id, requestType); 
} 

Любая помощь будет ЗНАЧИТЕЛЬНО оценили!

ответ

2

Использовать primaryModelClass.modelName вместо requestType.

requestType просто строка, как 'FindAll', 'findRecord' и т.д.

export default DS.RESTSerializer.extend({ 
    normalizeResponse: function(store, primaryModelClass, payload, id, requestType) { 
    var pluralTypeKey = Ember.String.pluralize(primaryModelClass.modelName); 
    payload[pluralTypeKey] = payload['data']; 
    delete payload['data']; 
    return this._super(store, primaryModelClass, payload, id, requestType); 
} 

Рабочая jsbin: http://emberjs.jsbin.com/weyuwixoli/edit?js,output

+0

Спасибо так много, что это было! – WebDevDude