ember data 1.0.0 beta 14.1 中的 hasMany 关系的负载应该是什么样的?

what should the payload look like for hasMany relation in ember data 1.0.0 beta 14.1?

我有一个具有这样层次关系的模型:

 App.Question=DS.Model.extend({
  name:DS.attr('string'),
  childQuestions:DS.hasMany('question',{async:true}),
  parentQuestion:DS.attr('string')
});

我的负载看起来像这样:

"questions":[
  {
    id:1,
    name:'question 1',
    childQuestions:[]
  },
  {
    id:2,
    name:'question 2',
    childQuestions:[3]
  },
  {
    id:3,
    name:'question 3',
    childQuestions:[],
    parentQuestion:2
  }
]

在使用 ember 1.5 和 ember 数据 beta 3 之前,我能够做到:

var q = model.findBy('id','2');
console.log(q.get('childQuestions'));//would give me promiseArray with the child questions

但是相同的 returns 空承诺数组,即使在解析时也什么都没有!!

使用 ember 1.5.0 和 data-data 1.0.0 beta 3 的代码:http://emberjs.jsbin.com/zeqomitapi/1/

使用 ember 1.9.1 和 data-data 1.0.0 beta 14.1 的代码:http://jsbin.com/koyiqocoyi/1/

我可能会尝试 "EmbeddedRecordsMixin",但目前我们不想更改其余 api 本身的任何内容。

非常感谢您的帮助。谢谢。

Ember Data 希望您将 parentQuestion 关系配置为 DS.belongsTo:

App.Question=DS.Model.extend({
  name:DS.attr('string'),
  childQuestions:DS.hasMany('question',{async:true}),
  parentQuestion:DS.belongsTo('question')
});

更新和工作 JSBin