ember-data:如何获取嵌入式json

时间:2012-11-25 21:40:58

标签: javascript json ember.js ember-data

我的Json数据如下所示:

 {"user":{"id":1,
        "name":"bob",
        "profile":{"id":1,
                "forename":"Foo",
                "surname":"Bar",
                "user_id":1}}

我的模型看起来像:

 App.User = DS.Model.extend({
     name: DS.attr('string'),
     profile: DS.belongsTo('App.Profile')
 });

 App.Profile = DS.Model.extend({
     forename: DS.attr('string'),
     surname: DS.attr('string'),,
     user: DS.belongsTo('App.User')
 });

当我尝试获取{{user.name}}时,它运行正常。 user.profile.forename无效。我试过我的用户模型

 DS.AuthenticatedRESTAdapter.map('App.User', {
     profile: {embedded: true}
 });

同样,但仍然没有工作。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

缺少的是通过调用“map”函数来配置序列化程序(由适配器使用):

App.MySerializer = DS.Serializer.extend({
    init: function(){
      this._super();
      this.map(App.User, {
        profile: {
          embedded: 'load'
        }
      });
    }
});

您可以在JFiddle here找到一个有效的例子。