2013-10-09 4 views
0

У меня есть две модели:Ember-data: как проверить, присутствует ли запись в hasMany отношении?

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»?

ответ

3

DS.hasMany создает экземпляр DS.ManyArray, который расширяет DS.RecordArray, который расширяет прожектор Em.ArrayProxy. Вы должны иметь возможность сделать courses.contains(test object), чтобы узнать, уже ли он в коллекции. Добавление и удаление курсов должны быть просто вопросом использования pushObject и removeObject:

courses.pushObject(object); 

...

courses.removeObject(object); 
+0

Спасибо за ответ, он работал отлично! – VoloD

Смежные вопросы