2015-01-27 3 views
0

Имея странные проблемы с сохранением hasMany отношений от первичной модели, ищет совет:EmberJS: Сохранение связанных отношения hasMany на модели уголька-данные создают дубликат только на дополнительных дисплеях

Мои настройки: Ember : 1.11.0-beta.1+canary.48e11592 Ember Data : 1.0.0-beta.14.1 EmberFire : 1.3.2 jQuery : 1.11.2

Отношения (псевдо): customer hasMany widgets widget belongsTo customer

addRelatedWidget: function() { 
    var data = this.get('addWidget'); 
    var model = this.get('model'); 
    var widget = this.store.createRecord('widget', { 
    name: data.name.trim(), 
    _time: new Date().getTime(), 
    customer: model, 
    }); 
    widget.save().then(function(widget){ 
    model.save(); 
    }); 
    this.set('addWidget', { 
    name: '' 
    }); 
} 

Симптомы: Когда я добавить виджет с точки зрения клиента и сохраняются й e save, как и выше, браузер Chrome, который я добавляю правильно, показывает один экземпляр недавно сохраненного виджета. Данные в FireBase корректно показывают новый виджет, и он присоединяется к клиенту, как и ожидалось. Но, если у меня есть другие окна браузера, открытые - не имеет значения, если это еще один хром, окно инкогнито или сафари - я получаю две версии виджета, отображаемые в списке связанных виджетов.

Если я использую панель инструментов разработчика Ember в Chrome для отладки, я вижу два экземпляра одного объекта - тот же идентификатор, та же модель Эмбер:

<[email protected]:widget::ember1553:-JggK7ByZqaNhrJ4PJyq> 
<[email protected]:widget::ember1553:-JggK7ByZqaNhrJ4PJyq> 

И смотреть на сериализованными моделей DS.model .tab вкладки в панели инструментов Ember:

Ember Inspector ($E): Object {_time: 1422377911584, customer: "12", name: "Adding", id: "-JggK7ByZqaNhrJ4PJyq"} 

Ember Inspector ($E): Object {_time: 1422377911584, customer: "12", name: "Adding", id: "-JggK7ByZqaNhrJ4PJyq"} 

Они представляются двумя точными копиями точно такой же экземпляр модели.

Так что я не смог отладить это. Поскольку данные, хранящиеся в firebase и рабочем браузере, не отображаются хорошо, я задаюсь вопросом, является ли это новым шаблоном для моделирования HTMLBars в версии 1.9 ... возможно, это неверно обрабатывает события emberfire?

Я сомневаюсь, что это emberfire, так как я полагаю, что невозможно было иметь два экземпляра связанной модели в одном массиве из-за того, что связанные данные модели в firebase хранятся в -primary-key: true ...

Может ли кто-нибудь вести меня с того, где начать отлаживать это?

Благодаря

+2

Прямо сейчас EmberFire поддерживает Ember 1.9.1 и Ember Data beta.12 (вы можете увидеть последние версии EmberFire здесь: https://github.com/firebase/emberfire#downloading-emberfire). Не могли бы вы попробовать с этими версиями и посмотреть, есть ли у вас такая же проблема? Я предполагаю, что это будет исправлено с помощью ED beta.15. – Sara

+0

Да, вы правы, Сара, которая обратилась к нему, это проблема с версией. Благодарю. Однако все еще не уверен, что его emberfire/compatibilities или новые HTMLBars, поскольку я должен отключить HTMLBars, чтобы работать с 1.9.1 ... OT: Я знаю, что вы упомянули раньше, что ваша команда работала над обновлением адаптера emberfire для поддержки последних версии и включить некоторые из новых методов запроса - есть ли у вас ETA по этому поводу? Было бы неплохо воспользоваться ими и HTMLBars, совместимыми с 1.10+ и канарейкой. –

+0

Один из вас должен опубликовать правильный ответ, чтобы мы могли это разрешить. Мне больно, что мой OCD имеет неотвеченные вопросы Firebase:) – Kato

ответ

0

Per Като: Sara писал, что это версия Несовместимость и она верна. EmberFire не готов к Ember> 1.9.1, но 1.9.1 работает точно так, как ожидалось :)