Ember-data中的断言错误有很多关系

时间:2015-04-28 10:15:32

标签: javascript jquery ember.js ember-data

我不熟悉在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();

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

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

我使用嵌入式记录可能有误。请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我们通过将两个部分连接在一起的表格来实现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')
 });