Ember 模型和关系

Ember Models & Relationships

我正在使用 Ember 和 Ember 数据进行练习,但我仍然坚持使用 Ember 模型的简单 1-M 关系。这是 jsbin:http://jsbin.com/nikenu/4/edit?html,js,output

谁能告诉我我的蜡笔在哪里?

我看到 2 个模型已加载,但盒子没有通过定义的关系加载蜡笔,同样,蜡笔也在检测它们的盒子。

模型中的关系属性不应该是 ID - 它们应该引用其他模型。所以像这样定义你的模型:

App.Box = DS.Model.extend({
  owner: DS.attr('string'),
  crayons: DS.hasMany('crayon')             // <----
});
App.Crayon = DS.Model.extend({
  color: DS.attr('string'),
  box: DS.belongsTo('box', {async: true})   // <----
});

然后在您的模板中,您尝试引用 model.crayonIds 但请记住您已经在一个循环中,因此您应该使用 item.crayons。所以像这样:

<ul>
  {{#each item in model}}
    <li>#{{item.id}} | {{item.owner}}</li>
    {{log item.crayons.length}}
    <h5>Crayons</h5>
    <ul>
      {{#each record in item.crayons}}    <!-- change is here -->
        <li>#{{record.id}} | {{record.color}}</li>
      {{/each}}
    </ul>
  {{/each}}
</ul>