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)
});
}
这是可行的,因为我来自的路由已经加载了父级