我是定义余烬关系的新手。请帮我解决这个问题。
这就是我建立关系的方式。
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
我使用嵌入式记录可能是错误的。请帮帮我解决这个问题。提前谢谢。
我们通过将两个部分连接在一起的表来实现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')
});