如何侧载余烬hasMany和belongsTo关系?

Swa*_*nil 6 ember.js ember-data

我有一个人员模型如下

 App.Person= DS.Model.extend({
      id: DS.attr('string'),   
      name: DS.attr('string'),
      visits: DS.hasMany('App.Visit'),
      events: DS.hasMany('App.Event') ,
      allergies: DS.hasMany('App.Allergies'),
      get_allergies : function(){
    return this.get('allergies').getEach('allergy_name').reduce(function(accum, item) {
      return (accum.length > 0) ? (accum +', '+ item) : (item);
    }, '');
  }.property('allergies.@each.allergy_name')    
    });


App.Visit = DS.Model.extend({
  visit_id: DS.attr('string'),
  date: DS.attr('date'),     
  admission: DS.belongsTo('App.Admission')
});

App.Admission = DS.Model.extend({
  loc: DS.attr('string'),
  admission_date: DS.attr('date'),
  care_team: DS.belongsTo('App.CareTeam')
});
Run Code Online (Sandbox Code Playgroud)

你可以看到Person有很多"过敏症",而且随着人,过敏也会加载,因为在UI中我称之为get_allergies方法,而其他很多关系如"访问"和"事件"都没有被加载.

在用户界面中{{person.get_allergies}}

我试图加载关系"访问"和"事件"(使用网络上的示例),但这不起作用?有人能说出什么是正确加载余烬数据的方法,因为除了关于stackoverflow本身的几个问题之外,我无法在网上找到任何适当的文档.

Sté*_*ond 4

根据文档,您应该在服务器的响应中添加额外的访问和事件数据。

{
  "person": {
    "id": 1,
    ...
    "event_ids": [5, 6, 7]
  },

  "events": [{
    "id": 5,
    ...
  },
  {
    "id": 6,
    ...
  },
  {
    "id": 7,
    ...
  }]
}
Run Code Online (Sandbox Code Playgroud)

这里的要点是事件数据应该位于人员数据之外。

您使用标准 REST 适配器吗?您能添加一个服务器返回的示例 json 吗?