javascript - 创建导致错误的自引用模型记录

标签 javascript ember.js ember-data

我将自引用模型定义为:

        App.Answer = DS.Model.extend({
            name: DS.attr('string'),
            parentAnswer: DS.belongsTo('answer'),
            childAnswers: DS.hasMany('answer')
        });

我不确定如何定义逆属性以使事情正常工作。这是我所拥有的 jsbin:http://jsbin.com/oKezUkaz/1/

如果我们添加一个组(按“添加组”按钮),我们会在控制台中收到错误消息:

Assertion failed: You defined the 'childAnswers' relationship on App.Answer, but multiple possible inverse relationships of type App.Answer were found on App.Answer. Look at http://emberjs.com/guides/models/defining-models/#toc_explicit-inverses for how to explicitly specify inverses

最佳答案

在这种情况下,您需要在两者上定义inverse,否则它会陷入沿其中一条路径向下的循环中。 Ember Data 的文档缺乏这方面的内容,但应该在 ED 达到可靠的 1.0 版本后进行处理。

App.Answer = DS.Model.extend({
  name: DS.attr('string'),
  parentAnswer: DS.belongsTo('answer', {inverse: 'childAnswers'}),
  childAnswers: DS.hasMany('answer', {inverse: 'parentAnswer'})
});

http://jsbin.com/oKezUkaz/5/edit

关于javascript - 创建导致错误的自引用模型记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21269624/

相关文章:

javascript - 居中并修复响应式变形 youtube 视频的填充?

Javascript 在循环中添加对象

ember.js - 使用 Ember.js 生成 Slug url

ember.js - 如何确保 Ember Data 从存储中删除缓存?

ember.js - Ember数据: model. get ('modelName')是未定义的,但是model._internalModel有效

ember.js - 观察 Ember 数据中的关联关系

javascript - Ember 模型对象 hasMany 没有像我期望的那样返回数组

javascript - 如何随着深度的增加减少 sibling 的横向距离,从而获得 D3.js 整洁的 TreeMap

javascript - 尝试部署不和谐机器人时出错

ember.js - 在 Ember.js 中处理事件的最佳方式是什么?