我正在尝试从“组” route 创建一个新的“学生”。 “学生”属于该群体。一如既往,一旦您想做任何与非常简单的示例不同的事情,事情就会变得完全神秘 - 我会感谢一些帮助!
“学生”属于一个“组”。从“小组” route ,我想为该小组创建新学生。因此,在我的“groups/:group_ID”路线的 Controller 中,我有以下“saveStudent”操作...
saveStudent: function(){
var self = this;
var classID = parseInt(this.get('model.id'));
var name = this.get('studentName'); //studentName from input box
var newStudent = this.store.createRecord('student', {
name: name,
group: classID
});
newStudent.save();
}
失败并显示
Assertion Failed: You can only add a 'group' record to this relationship
如果我没有 kv 对:
group: classID
新学生已按预期创建,但当然我对关系一无所知。
我不知道如何在关系的背景下做到这一点。我是否需要自己更新“组”模型,或者 Ember 可以帮我处理这个问题吗?
我正在使用 Ember-CLI,以防有任何差异。谢谢
最佳答案
您应该使用记录,而不是 ID。假设 model
是组,您会这样做
saveStudent: function(){
var self = this;
var group = this.get('model');
var name = this.get('studentName'); //studentName from input box
var newStudent = this.store.createRecord('student', {
name: name,
group: group
});
newStudent.save();
}
假设您在学生组中拥有 hasMany
,Ember-Data(请记住,Ember 和 Ember Data 是两种不同的产品)不会自动将学生连接到该组。您可以手动将其添加到该组(我建议在保存后)。
关于ember.js - 从相关的 "belongs to"路由创建一条记录。断言失败: Assertion Failed: You can only add a 'group' record to this relationship,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331310/