Ember JS принадлежит к отношениям - PullRequest
0 голосов
/ 22 октября 2018

У меня две модели сотрудников и empdetails

//employee model
import DS from 'ember-data';
export default DS.Model.extend({
    empId : DS.attr(),
    password : DS.attr(),
    email : DS.attr(),
    empdetails : DS.belongsTo("empdetails") 
});

//empdetails model
import DS from 'ember-data';    
export default DS.Model.extend({
    firstName : DS.attr(),
    lastName : DS.attr(),
    dateOfJoining: DS.attr(),
    employee : DS.belongsTo("employee")
});

Я использую RESTAdapter для выполнения вызовов REST.

//serializer
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
});

Когда я пытаюсь сделать запрос на получение сотрудника, я получаю следующееошибка

Пожалуйста, проверьте ваш сериализатор и убедитесь, что он сериализует полезную нагрузку отношений в формат JSON API.Ошибка: утверждение не выполнено: Обнаружен идентификатор отношения без типа для отношения "отношение к" принадлежит "empdetails", ожидался идентификатор json-api с типом "empdetails", но найдено "{" id ":" 1 "," firstName ":" xxx"}

Я получаю приведенный ниже JSON из моего бэкэнда

[
  {
    "id": 1,
    "email": "xyz@gmail.com",
    "password": "12345678",
    "empdetails": {
      "id": 1,
      "firstName": "xxx",
      "lastName": "yyy",
      "dateOfJoining": "22-10-2018"
    }
  }
]

Может ли кто-нибудь помочь мне исправить ошибку

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Если вы используете Django Rest в качестве бэкэнда, используйте адаптер DRF и сериализатор DRF

Посетите здесь для получения дополнительной информации

0 голосов
/ 22 октября 2018

Попробуйте обновить сериализатор вашего сотрудника следующим образом:

import DS from 'ember-data';

export default DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin, {
    attrs: {
        empdetails: {
            serialize: 'records',
            deserialize: 'records'
        }
}});

Подробнее см. в этой статье .

...