我正在尝试从“组”路线中创建一个新的“学生”。 “学生”属于该组。真实到形式,只要你想做一些与非常简单的例子不同的事情,事情就会变成一个完全神秘的东西 - 我会感激一些帮助!
“学生”属于“团体”。从“小组”路线中,我想为该小组创建新学生。所以,在我的“groups /:group_ID”路由的控制器中,我有以下“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();
}
失败
断言失败:您只能在此关系中添加“群组”记录
如果我没有kv对:
group: classID
新学生按预期创建,但当然我对这段关系一无所知。
我不知道如何在关系的背景下这样做。我是否需要自己更新“组”模型,或者Ember可以为我处理这个问题吗?
我正在使用Ember-CLI,以防有任何不同。感谢
答案 0 :(得分:3)
您应该使用记录,而不是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();
}
Ember-Data(记住,Ember和Ember数据是两种不同的产品)不会自动将学生连接到该组,假设您对该组学生有hasMany
。您可以手动将其添加到该组(我建议在保存后)。