Перебор Ember.js массивов ember-data Record

Я весь день бился об эту проблему, и я чувствую, что близок к решению, но просто не могу этого добиться. Я использую Ember.js с Ember-Data и адаптером Fixtures, в конечном итоге переходя на адаптер REST. Основная проблема заключается в следующем: у меня есть сайты и руководители, смногие-ко-многим отношения. Я хочу предоставить пользователю поле выбора для существующих пар сайтов / супервизоров, отсортированных по сайту, а именно:

Сайт 1 - Супервайзер 1Сайт 1 - Супервайзер 2Сайт 2 - Супервайзер 1(помните, многие ко многим)Сайт 2 - Супервайзер 3

Мне нужно объединить эти два ресурса в один массив, который я могу передать представлению, которое наследует (или будет наследовать) от Ember.Select. В настоящее время я пытаюсь сделать это с помощью метода на контроллере Supervisors, который я называю «плоским», потому что он вернет плоский массив, представляющий эти отношения. Контроллер показан ниже. Я использую .find (). Then () для обработки данных после того, как обещание выполнено. Данные, которые я получаю обратнопоявляется чтобы содержать все четыре моих фикстуры, но когда я пытаюсь использовать любой из перечисляемых методов на них (особенно forEach), он ведет себя так, как будто он только возвратил первый объект. Я попытался перебрать объект данных, а также data.get («контент»). Я совсем новичок в Эмбер, так что, может быть, я все равно ошибаюсь, но, несмотря на это, мне это кажется очень странным. Вот мой код:

App.SupervisorsController = Ember.ArrayController.extend({
  flat: function(){
    return App.Supervisor.find().then(function(data){
      var c = data.get('content') ;
      console.log(c) ;    // <-- logs an object containing four records,
                          //     with attribute "length" showing 4
                          //     Great! (see below for log output)

      console.log(c[0]) ; // <-- logs first record. Great!
      console.log(c[1]) ; // <-- undefined (?!)
      console.log(c[2]) ; // <-- undefined (?!)
      console.log(c[3]) ; // <-- undefined (?!)
      console.log(c.get('length')) ; // <-- 1 (not four?!)

      return c ; // <-- eventually this will return the newly constructed array
    }) ;
  }
}) ;

И вот вывод журнала из первого вызова console.log ()

0: Object
1: Object
2: Object
3: Object
__ember1376005434256: "ember325"
__ember1376005434256_meta: Meta
_super: undefined
length: 4
__proto__: Array[0]

Можете ли вы сказать мне, что мне здесь не хватает? Я не могу понять, как получить доступ к каждому из четырех наблюдателей.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос