Ember.js 未对余烬数据属性进行骆驼化

Ember.js 未对余烬数据属性进行骆驼化,ember.js,ember-data,Ember.js,Ember Data,下面是JSON的一个示例 { "users": [ { "id": "10", "email": "test8@test.org", "activated": true, "created_at": "2013-08-25 19:30:16", "username": "Roober" } ] } 这项工作: App.User

下面是JSON的一个示例

{
    "users": [
        {
            "id": "10",
            "email": "test8@test.org",
            "activated": true,
            "created_at": "2013-08-25 19:30:16",
            "username": "Roober"
        }
    ]
}
这项工作:

App.User = DS.Model.extend({
    username: DS.attr(),
    email: DS.attr(),
    activated: DS.attr(),
    created_at: DS.attr()
});
这并不是:

App.User = DS.Model.extend({
    username: DS.attr(),
    email: DS.attr(),
    activated: DS.attr(),
    createdAt: DS.attr()
});
createdAt返回未定义的


余烬是v1.0.0,余烬数据是v1.0.0-beta。2默认情况下,余烬数据beta 1需要服务器的CamelCase响应 但您可以实现normalize方法来改变这一点:

normalize: function(type, hash, property) {
    var json = { id: hash.id };

    for (var prop in hash) {
      json[prop.camelize()] = hash[prop]; 
    }

    return this._super(type, json, property);
}

您可以查看此文档以了解更多信息。

默认情况下,Ember data beta 1将从您的服务器获得CamelCase响应 但您可以实现normalize方法来改变这一点:

normalize: function(type, hash, property) {
    var json = { id: hash.id };

    for (var prop in hash) {
      json[prop.camelize()] = hash[prop]; 
    }

    return this._super(type, json, property);
}

有关详细信息,请参阅本文档。

谢谢。这意味着文档在最新版本中是错误的。ActiveModelAdapter和
DS.ActiveModelSerializer
也一直在为我工作。我认为他们一定是在尝试逐步淘汰该特定文档。它在任何菜单中都没有链接,我已经提交了几个拉取请求来更正该页面,尽管它们更新页面以准确反映当前功能,但这些请求数周都没有被接受。谢谢。这意味着文档在最新版本中是错误的。ActiveModelAdapter和
DS.ActiveModelSerializer
也一直在为我工作。我认为他们一定是在尝试逐步淘汰该特定文档。它在任何菜单中都没有链接,我已经提交了几个拉取请求来更正该页面,并且这些请求已经好几个星期没有被接受,即使它们更新页面以准确反映当前功能。