Ember数据未获取数据

时间:2014-08-14 17:41:25

标签: ember.js ember-data

我正在使用ember-data,在一个简单的类和学生示例中,我有一个处理/classes/classes/:class_id/students的API。

类API请求没有任何问题,但是当我尝试列出类中的学生时,没有进行API调用。现在我不是在学生路线上手动进行API调用,因为我认为ember-data会根据模型关系进行调用。

模型/ class.js

import DS from 'ember-data';

export default DS.Model.extend({
  name:         DS.attr('string'),   
  students:     DS.hasMany('student', { async: true }),
});

模型/ student.js

import DS from 'ember-data';

export default DS.Model.extend({
  name:       DS.attr('string'),    
  class:      DS.belongsTo('class', { async: true }),
});

适配器

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  needs: ['service:session'],
  host: AppENV.APP.API_URL,
  headers: function() {
    return {
      'accept': 'application/json',
      'Content-Type': 'application/json',
      'x-app-sig': this.get("session.token"),
    };
  }.property("session.token")
});

更新

控制器/类/ index.js

import Ember from 'ember';

export default Ember.ObjectController.extend({
  // simplified query
  all: function() {
    return this.get('students');
  }
}

模板/类/ index.hbs

<div class="panel__master-content">
  <div class="students panel__scrollable">

    {{#each all}}
      {{partial 'partials/student-link'}}
    {{else}}
      No students currently exist  <= what always gets rendered out
    {{/each}}
  </div>
</div>

router.js

this.resource('classes', function() {
  this.resource('class', { path: '/:class_id' }, function() {
    this.resource('student', { path: '/students/:student_id' }, function() {
      // other stuff
    });
  });
});

更新2

在余烬relationship docs中,它表示期望子ID(学生)与父母一起返回。这需要吗? Ember不是智能足以通过父ID发出API请求吗?

0 个答案:

没有答案