Я пытаюсь сериализовать пользовательский объект и передать его клиенту ember. В моем приложении используется REST-сериализатор.Введенные данные Ember имеют одно отношение для ember-data.1.0.0
Пользовательский объект has_one адресный объект. Нет отдельной конечной точки только для адреса, поэтому я не могу просто указать идентификатор внешнего ключа и отключить его.
JSON получил только включает в себя адрес, как объект и выглядит примерно так:
{"user":
{
"id":"5",
"name":"Andrew",
"address":
{
"id":"3",
"addressable_id":"5",
"street":"1",
"country_code":"US"
}
}
На стороне Ember У меня есть модель пользователя
App.User = DS.Model.extend({
name: DS.attr('string'),
address: DS.belongsTo('address'),
//hasOne via belongsTo as suggested by another SO post:
//http://stackoverflow.com/questions/14686253/how-to-have-hasone-relation-with-embedded-always-relation
});
и модель адресной
App.Address = DS.Model.extend({
addressable_id: DS.attr('string'),
street: DS.attr('string'),
country_code: DS.attr('string'),
user: DS.belongsTo('user')
});
В данный момент данный код вызывает ошибку на консоли:
TypeError: Cannot read property 'typeKey' of undefined
, которая может быть исправлена путем удаления линии
address: DS.belongsTo('address'),
в пользовательской модели, но тогда отношения не загружается должным образом.
Так что я делаю неправильно, настраивая это? Я получаю много времени, чтобы найти последнюю документацию по этому вопросу.
Вы используете [встроенный микшинг записи] (http://stackoverflow.com/questions/24222457/ember-data-embedded-records-current-state/24224682#24224682)? – vhf
На самом деле, похоже, я неправильно истолковал ссылку, которую вы отправили. Это может решить мою проблему. – Andrew
Это сработало! Если вы повторно представите это в качестве ответа в каком-то контексте, я соглашусь с ним. Спасибо огромное! Я боролся с этим часами. – Andrew