Ember-data:如何检查hasMany关系中是否存在记录?

时间:2013-10-09 12:54:29

标签: ember.js ember-data

我有两种模式:

App.Administrator = DS.Model.extend({
  name:    DS.attr('string'),
  courses: DS.hasMany('course', {async: true})
});

App.Course = DS.Model.extend({
  title: DS.attr('string')
})

开"编辑管理员"页面我想显示复选框列表,每个课程一个,以便选择一个将其推送到" model.courses",并取消选择将其从" model.courses"。

但主要问题是:如何检查课程是否已经在内部" model.courses"?

1 个答案:

答案 0 :(得分:3)

DS.hasMany实例化一个DS.ManyArray,它扩展了一个DS.RecordArray,它扩展了一个普通的Em.ArrayProxy。您应该能够courses.contains(test object)查看它是否已经在该集合中。添加和删​​除课程应该只是使用pushObject和removeObject:

courses.pushObject(object);

...

courses.removeObject(object);