2015-09-10 1 views
4

Если у меня есть поле, которое находится в случае с змеей, возвращающимся из api, как мне определить это поле в модели? Я использую JSONAPIAdapter. Похоже, что поля - это одно слово, прекрасно работающее, но поля полей змей возвращаются как неопределенные.Загрузка поля змеиного ящика с использованием данных ember с использованием адаптера JSONAPI

Это, как я должен это определено в моей модели:

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    typecode_desc: DS.attr('string'), 
    contactnum: DS.attr('string'), 
    email: DS.attr('number'), 
    individual: DS.belongsTo('individual', {async: false}) 
}); 

И это, как JSON возвращается из API:

1: { 
    id: "96" 
    type: "contact_infos" 
    attributes: { 
    typecode_desc: "E-mail address" 
    contactnum: "[email protected]" 
    email: 1 
    } 
} 

Однако в Ember инспектора, typecode_desc приходит назад как неопределенный. Есть ли что-то, что мне нужно сделать, чтобы сказать ember, что поля возвратятся как случай с змеей?

ответ

4

Вам необходимо определить keyForRelationship в вашем сериализаторе JSON API. Это будет выглядеть примерно так:

import DS from 'ember-data'; 
import Ember from 'ember'; 

export default DS.JSONAPISerializer.extend({ 
    keyForAttribute: function(attr) { 
    return Ember.String.underscore(attr); 
    }, 
    keyForRelationship: function(attr) { 
    return Ember.String.underscore(attr); 
    } 
}); 
+0

Отлично! Это сработало отлично! –