9

我有一个有很多学生的模范老师。模型定义如下:

App.Teacher = DS.Model.extend({
  email: DS.attr('string'),
  students: DS.hasMany('student')
});

App.Student = DS.Model.extend({
  teacher: DS.belongsTo('teacher'),
});

当教师登录时,服务器返回教师的 JSON 表示:

{
  id: 1,
  email: "abc@example.com",
  links: {
    students: /teacher/1/students
  }
}

在用于登录的控制器中,然后我将此数据推送到存储中并将其存储在 Session 控制器的属性中:

this.set('currentUser', this.get('store').push('teacher', teacherJson))

我想延迟加载关联,所以我使用了 API ( http://emberjs.com/api/data/classes/DS.Store.html#method_push )students中定义的“链接”格式。所以,理想情况下,每当我打电话

App.SessionController.get('currentUser').get('students')

它会students通过向/teacher/1/students. 但这永远不会发生。为什么请求没有被触发?

4

1 回答 1

9

好的,我找到了答案。async: true我必须在模型中的students关联中添加一个属性Teacher

App.Teacher = DS.Model.extend({
  email: DS.attr('string'),
  students: DS.hasMany('student', { async: true })
});
于 2013-09-15T13:20:15.047 回答