我是Ember / ED / EmberFire的新人,如果这是一个微不足道的问题,请道歉。我能够将记录保存到Firebase,但我无法指定与控制器中这些记录的关系。我正在使用
DEBUG: Ember : 1.10.0
DEBUG: Ember Data : 1.0.0-beta.12
DEBUG: Firebase : 2.2.3
DEBUG: EmberFire : 1.4.3
DEBUG: jQuery : 1.11.2
我有一个模型:
var Patient = DS.Model.extend({
lastName: DS.attr('string'),
firstName: DS.attr('string'),
encounters: DS.hasMany('encounter', {async: true})
});
var Encounter = DS.Model.extend({
dateOfEncounter: DS.attr('string'),
patient: DS.belongsTo('patient', {async: true})
});
我只是想指定我新创建的patient
对象所关联的encounter
。这是我的控制者:
actions: {
registerEncounter: function() {
var newEncounter = this.store.createRecord('encounter', {
dateOfEncounter: this.get('dateOfEncounter'),
patient: this.store.find('patient', '-Jl8u8Tph_w4PMAXb9H_')
});
newEncounter.save();
this.setProperties({
dateOfEncounter: ''
});
}
}
我可以在Firebase中成功创建encounter
记录,但没有关联的patient
属性。我得到的只是
答案 0 :(得分:0)
this.store.find('patient', '-Jl8u8Tph_w4PMAXb9H_')
会返回一个承诺。
试试这个:
this.store.find('patient', '-Jl8u8Tph_w4PMAXb9H_').then(function(pat) {
var newEncounter = this.store.createRecord('encounter', {
dateOfEncounter: this.get('dateOfEncounter'),
patient: pat
});
newEncounter.save();
});