2013-09-21 74 views
0

这里的JSON灰烬数据属性不被骆驼

{ 
    "users": [ 
     { 
      "id": "10", 
      "email": "[email protected]", 
      "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。

灰烬是V1.0.0和灰烬数据是V1.0.0,beta.2

回答

3

灰烬数据Beta 1的期望从你的服务器在默认情况下 驼峰匹配响应,但你可以实现标准化的方法来改变这种状况:

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

+0

谢谢。这意味着文档是错误的http://emberjs.com/guides/models/the-rest-adapter/#toc_underscored-attribute-names –

+0

在最新的版本中,“DS.ActiveModelAdapter”和“DS.ActiveModelSerializer”也一直在工作对我来说 – chopper

+0

我认为他们必须努力逐步淘汰这个特定的文件。它没有链接到任何菜单中,我已经提交了几个pull请求来纠正该页面,即使它们更新了页面以准确反映当前功能,它们也没有被接受几周。 –