【问题标题】:Assertion error in Ember-data has many relationshipEmber-data 中的断言错误有很多关系
【发布时间】:2015-04-28 10:15:31
【问题描述】:

我不熟悉在 ember 中定义关系。请帮我解决这个问题。

这就是我建立关系的方式。

 App.Post= DS.Model.extend({

     comment: DS.belongsTo('comment'),
     name:     DS.attr('string')
 });

 App.Comment =DS.Model.extend({

    post: DS.belongsTo('Post'),
    value:   DS.attr('string')
 });

 App.PostSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    attrs: {
       comments: {embedded: 'always'}
    }
 });

保存帖子模型:

        var model = this.store.createRecord('post');

        model.get('comments').pushObject(this.store.createRecord('comment'));


        model.setProperties({
            name: 'test'
        });

        model.save();

每当我尝试保存后期模型时,我都会收到以下错误:

错误:断言失败:您必须在传递给 push 的对象中为 App.Comment 包含 id

我在使用嵌入记录时可能是错误的。请帮我解决这个问题。提前致谢。

【问题讨论】:

    标签: javascript jquery ember.js ember-data


    【解决方案1】:

    我们通过一个将两个部分连接在一起的表格来实现 hasMany。 对于您的示例,它看起来像这样。

    App.Post= DS.Model.extend({
         name:     DS.attr('string')
     });
    
     App.Comment =DS.Model.extend({
        value:   DS.attr('string')
    });
    
     App.CommentPost = DS.Model.extend({
       post: DS.belongsTo('post'),
       comment: DS.belongsTo('comment')
     });
    

    【讨论】:

    • 谢谢 Kristjan.. 有什么方法可以用我发布的相同内容实现吗??
    • @user3139250 我不这么认为,因为数据库的结构类似于:帖子、评论、评论帖子。也许有办法,但这是不寻常的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2013-03-15
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多