0

如果我有这样的模型:

App.Group = DS.Model.extend({
  title: DS.attr('string'),
  persons : DS.hasMany('App.Person')
});

App.Person = DS.Model.extend({
  name : DS.attr('string'),
  age : DS.attr('object'),
  group : DS.belongsTo('App.Group')
});

如果我有这样的夹具数据:

App.Group.FIXTURES = [{
 title : "Group A",
 persons : [10,12]
 },{
 title: "Group B",
 persons: [13,14]
}]

App.Person.FIXTURES = [{
 name: "Bill",
 age: 24
},{
 name: "Ted",
 age: 25
},{
 name: "Mr. Excellent",
 age: 30
},{
 name: "Mr. Adventures",
 age: 21
}]

和这样的模板:

<script type="text/x-handlebars" data-template-name="Group">
  {{title}}
  {{render person}}
</script>

<script type="text/x-handlebars" data-template-name="Person">
  {{#each in controller}}
     {{name}}
  {{/each}}
</script>

所以现在发生的是人员模板显示人员数组中的所有人员。我怎样才能让每个循环只遍历 A 组中的人,而不是显示灯具中的每个人?这可以在车把上完成吗?或者这是我需要在路线中指定的东西?

4

1 回答 1

1

您可以使用渲染助手的第二个参数将模型传递给人员控制器...

{{render person persons}}

但是您的 Person.FIXTURES 和 group.FIXTURES 必须具有关系的 ID

App.Person.FIXTURES = [{
  id:10,
  name: "Bill",
  age: 24
},
[...]
App.Group.FIXTURES = [{
  id: 1,
  title : "Group A",
  persons : [10,12]
},
[...]
于 2013-10-10T08:55:43.793 回答