#javascript #rest #ember.js #ember-data
#javascript #rest #ember.js #ember-данные
Вопрос:
Редактировать: Ember 1.7.1
, ember-data 1.0.0-beta12
Ответ от сервера кажется правильным, но ember, похоже, не загружает ответ должным образом в данные. Ниже приведен ответ от findQuery()
on feedstories
:
После создания записи сервер отправляет следующий ответ. Что кажется правильным, поскольку это создание отдельной записи.
Ember загружает story_type
post, но, как вы можете видеть, другие атрибуты, такие как global_id
(который был установлен в качестве первичного ключа в сериализаторе), не были загружены. Встроенный атрибут истории имеет ту же проблему, когда часть информации верна (тело, заголовок и т.д.), Но не загружает все остальные атрибуты. Они установлены как undefined
.
Я думаю, что может быть что-то не так с тем, как я сериализую данные на стороне клиента. Но поскольку часть информации загружается, я не слишком уверен. Есть идеи?
Вот адаптер и сериализатор ниже:
App.FeedstorySerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
primaryKey: 'global_id',
attrs: {
pin: {embedded: 'always' },
story: {embedded: 'always'},
},
serializeIntoHash: function(hash, type, record, options){
// Removed the root element from the request payload.
// If not completed, causes issue when getting data from
// the bundle object on the server.
Ember.merge(hash, this.serialize(record, options));
},
});
App.FeedstoryAdapter = App.ApplicationAdapter.extend({
buildURL: function(type, id, record){
this._super();
url = '/' this.namespace '/feedstories/'
return url
}
});
Комментарии:
1. Глупый вопрос: все ли эти атрибуты определены в вашей модели?
2. @ChrisPeters Да, похоже, я не получаю никаких предупреждений и проверил, что они все есть. Когда выполняется findQuery, feedstories загружаются корректно со всеми данными. Когда я создаю новый, ничего не происходит, и я ожидаю, что он покажет новую историю поверх других.
3. @ChrisParry будет ли новый отображаться внизу?
Ответ №1:
Из ответа query
vs single
вам не хватает корневого feedstory
ключа в вашем json.