繁体   English   中英

余烬数据创建具有一对多关系的记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM