2015-12-09 3 views
0

Я использую master ember-cli-mirage branch, чтобы воспользоваться активным сериализатором модели и поддержкой отношений, теперь у меня есть полностью рабочий пример с hasMany отношениями, но теперь предоставляется модель User что hasOne Organization я не могу понять, как внедрить организацию json в пользовательский json, до сих пор я пытаюсь использовать belongsTo, если не удастся, поскольку пытается добавить внешний ключ пользователю, выглядит, если у пользователя нет организации, она выдает ошибку, потому что она проверяет, является ли ресурс (нулевой, поскольку нет организации), является моделью, а если нет, то он пытается отобразить как коллекцию, приводящую к ошибке.Как сериализовать embedded принадлежит отношения

Не знаете, как добиться такого поведения, я обманул модель пользователя, установив пользователя так, как будто он принадлежит организации (это действительно наоборот) и присваивает идентификатор организации пользовательской организации. Таким образом, он встраивает объект организации в user json, но это, очевидно, просто хак, а не правильный/ожидаемый способ сделать это с учетом hasOne - общий шаблон.

Любые рекомендации или предложения приветствуются.

+1

Я считаю, что это в настоящее время не поддерживается, но это будет прежде 0.2.0 выпущен. Мне нужно добавить опцию 'ownTo', чтобы вы могли указать, какая модель владеет внешним ключом. –

ответ

2

Вы хотите добавить пользовательский сериалайзер в /serializers имени модели с вложенными записей:

import DS from 'ember-data'; 
// Assuming your application serializer extends ActiveModelSerializer 
import ApplicationSerializer from './application'; 

const { EmbeddedRecordsMixin } = DS; 

export default ApplicationSerializer.extend(EmbeddedRecordsMixin, { 
    attrs: { 
    yourEmbededRecordsModelName: { 
     embedded: 'always' 
    } 
    } 
}); 
Смежные вопросы