[英]ember-data creating a record with a one-to-many relationship
我正在尝试通过以下两个模型创建具有关联关系的新记录。
App.Kid = DS.Model.extend({
attribute1: DS.attr("string"),
parent: DS.belongsTo(parent)
});
App.Parent = DS.Model.extend({
attribute1: DS.attr("string"),
kids: DS.hasMany(kid)
});
我的路线如下。 我还在模板中使用动作处理程序,以通过表单将属性的新值保存到模型中。
App.KidRoute = Ember.Route.extend({
model: function (id) {
return this.store.createRecord('kid', {parent: id});
},
actions:{
save: function(){
this.get('currentModel').save();
}
}
});
但是我遇到了这个错误。
Assertion failed: You can only add a 'parent' record to this relationship
我知道我做错了什么,但事实是,如果parent
只是一个属性而不是一个belongTo关系,则它可以工作。 但我不要这个。
提前致谢!
在该代码中:
this.store.createRecord('kid', {parent: id});
变量id可能是一些字符串,数字等。ember-data需要模型实例,因此您需要加载它。
尝试使用以下内容:
App.KidRoute = Ember.Route.extend({
model: function (id) {
var route = this;
return this.store.find('parent', id).then(function(parentModel) {
return route.store.createRecord('kid', {parent: parentModel});
});
},
actions:{
save: function(){
this.get('currentModel').save();
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.