Ember Data属性未被驯化

时间:2013-09-21 07:08:48

标签: 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 = 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返回undefined。

Ember是v1.0.0,Ember Data是v1.0.0-beta.2

1 个答案:

答案 0 :(得分:3)

Ember数据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);
}

您可以查看此文档以获取更多信息https://github.com/emberjs/data/blob/master/TRANSITION.md