Я получаю следующую ошибку, когда я использую Ember Data для создания записей из ответа JSON. Что дает? Я следую за состоянием документов.Данные об Ember Data One One One Creation Fails
Uncaught Error: Assertion Failed: Ember Data expected a number or string to represent the record(s) in the `user` relationship instead it found an object. If this is a polymorphic relationship please specify a `type` key. If this is an embedded relationship please include the `DS.EmbeddedRecordsMixin` and specify the `user` property in your serializer's attrs object.
JSON разбираемый:
[
{
"id": 76,
"title": "Title",
"shipped": 0,
"date": "2015-05-21T05:00:00.000Z",
"user": {
"firstName": "First Name",
"lastName": "Last Name",
"email": "[email protected]",
"id": 1
}
}
]
Пересылка Модель:
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
user: DS.belongsTo('user', { async: false })
});
Маршрут:
import Ember from 'ember';
export default Ember.Route.extend({
beforeModel: function() {
if(!localStorage.accessToken) {
this.transitionTo('login');
}
},
model: function() {
var shipmentObjects = [];
var App = this;
Ember.$.getJSON('http://localhost:1337/subscription/1/shipments/upcoming', function(shipments) {
shipments.forEach(function(data) {
var shipment = App.store.push('shipment', data);
shipmentObjects.pushObject(shipment);
});
});
return shipmentObjects;
}
});
Я могу изменить мой JSON, но зачем мне его менять на ваш пример? Пользовательский объект принадлежит к отгрузке, и есть много партий. – morcutt
Если вы отделите свой json массивом отправки с несколькими объектами, связанными только с идентификатором пользователя, и под массивом пользователей со всей информацией о пользователе ... Ember будет обрабатывать это как связанные модели и создавать каждую отдельную запись и записи пользователя с помощью ember данные. Ember ожидает идентификатор отношения между вашими моделями – abFx
Я согласен с этим. Хотя я не форматировал JSON так же, учитывая, что отношение Ember к ID в JSON действительно работает. Спасибо. – morcutt