Ember未检测到服务器响应的所有属性

时间:2016-10-21 12:54:42

标签: javascript rest ember.js ember-data

修改:Ember 1.7.1ember-data 1.0.0-beta12

来自服务器的响应似乎是正确的,但是ember似乎没有将响应正确地加载到数据中。以下是findQuery()feedstories的回复:

findQuery Response

创建记录后,服务器发送以下响应。这似乎是正确的,因为它是一个单独的记录创建。

create record response

Ember加载story_type帖子,但正如您所见,尚未加载其他属性,例如global_id(已在序列化程序中设置为主键)。嵌入式故事属性具有相同的问题,其中一些信息是正确的(正文,标题等)但不加载所有其他属性。它们设置为undefined

Ember Inspector

我认为在客户端如何序列化数据可能有问题。但是由于正在加载一些信息,我不太确定。有什么想法吗?

以下是适配器和序列化器:

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 个答案:

答案 0 :(得分:2)

query vs single回复中,您错过了json上的根feedstory密钥。