从相关的“属于”路线创建记录。断言失败:断言失败:您只能在此关系中添加“组”记录

时间:2015-05-19 16:34:08

标签: ember.js ember-data ember-cli

我正在尝试从“组”路线中创建一个新的“学生”。 “学生”属于该组。真实到形式,只要你想做一些与非常简单的例子不同的事情,事情就会变成一个完全神秘的东西 - 我会感激一些帮助!

“学生”属于“团体”。从“小组”路线中,我想为该小组创建新学生。所以,在我的“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,以防有任何不同。感谢

1 个答案:

答案 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。您可以手动将其添加到该组(我建议在保存后)。