从主模型中保存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: ''
});
}
症状: 当我从客户视图添加小部件并保留保存时,如上所述,我正在添加的Chrome浏览器正确显示了新保存的小部件的一个实例。 FireBase上的数据正确显示新窗口小部件,并按预期连接到客户端。但是,如果我打开任何其他浏览器窗口 - 如果它是另一个chrome,隐身窗口或safari也无关紧要 - 我会在相关小部件列表中显示两个版本的小部件。
如果我在Chrome中使用Ember Developer Toolbar进行调试,我会看到两个相同对象的实例 - 相同的ID,相同的余烬模型:
<ember-app@model:widget::ember1553:-JggK7ByZqaNhrJ4PJyq>
<ember-app@model:widget::ember1553:-JggK7ByZqaNhrJ4PJyq>
要查看Ember工具栏中DS.model.tab选项卡中的序列化模型:
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上的数据和工作浏览器显示的很好,我想知道它是否是1.9中的新HTMLBars模板引擎......也许它甚至不能错误处理事件?
我怀疑它是什么样的,因为我认为在同一个数组中不可能有两个相关模型的实例,因为firebase中的相关模型数据是由-primary-key:true存储的。 ..
有人可以指导我从哪里开始调试吗?
由于
答案 0 :(得分:0)
Per Kato:Sara发布这是一个版本不兼容,她是对的。 EmberFire还没有为Ember&gt;做好准备1.9.1,但1.9.1完全按预期工作:)