ember.js – 如何侧载ember hasMany和belongsTo Relationship?

前端之家收集整理的这篇文章主要介绍了ember.js – 如何侧载ember hasMany和belongsTo Relationship?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个人员模型如下
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')
});

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

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

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

解决方法

根据 the documentation,您应该在服务器的响应中添加其他访问和事件数据.
{
  "person": {
    "id": 1,...
    "event_ids": [5,6,7]
  },"events": [{
    "id": 5,...
  },{
    "id": 6,{
    "id": 7,...
  }]
}

这里的要点是事件数据应该在Person数据之外.

你使用标准的REST适配器吗?你能加一个服务器返回的样本json吗?

猜你在找的JavaScript相关文章