Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 将记录与余烬数据关联_Ember.js_Ember Data - Fatal编程技术网

Ember.js 将记录与余烬数据关联

Ember.js 将记录与余烬数据关联,ember.js,ember-data,Ember.js,Ember Data,我有以下设置: App.MyModel = Em.Model.extend({ someValue: DS.attr('string'), parent : DS.belongsTo('mymodel',{async:true, inverse:'rooms'}), rooms : DS.hasMany('mymodel', {async:true, inverse:'parent'}) }); App.MyRoute = Em.Route.extend({ mode

我有以下设置:

App.MyModel = Em.Model.extend({
  someValue: DS.attr('string'),
  parent   : DS.belongsTo('mymodel',{async:true, inverse:'rooms'}),
  rooms    : DS.hasMany('mymodel', {async:true, inverse:'parent'})
});

App.MyRoute = Em.Route.extend({
  model:function(params){
    var parent = this.store.find('mymodel', params.parent_id);
    return this.store.createRecord('mymodel',{parent:parent});
  }
});
params.parent_id具有我想要的id,因此find应该返回正确的记录

然后将someValue绑定到模板的输入框中,并在输入后调用创建操作

App.MyController = Ember.ObjectController.extend({
  actions:{
    create:function(){
      this.get('model').save();
    }
  }
});
但是当数据被发送到服务器时,只有someValue具有正确的数据,parent为null

我不知道错误是在模型定义中还是在我设置关系的方式中

如何正确设置记录上的关系?

查找的承诺应解析为实际对象

但当像在问题中那样使用它时,这不起作用

有一种不同的方法,可以在所需记录已经加载时使用

model: function(params){
  return this.store.createRecord('mymodel', {
    'parent': this.store.getById('mymodel', params.parent_id)
  });  
}
这是可行的,因为我来自的路由已经加载了父级