提问者:小点点

车把每个循环能否访问父模型id


如果我有这样的模型:

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组中的人员,而不是显示夹具中的每个人员?这可以在车把中完成吗?或者这是我需要在路由中指定的东西?


共1个答案

匿名用户

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

{{render person persons}}

但是你的Pers. FIXTURES和group.FIXTURES必须有关系的ID

App.Person.FIXTURES = [{
  id:10,
  name: "Bill",
  age: 24
},
[...]
App.Group.FIXTURES = [{
  id: 1,
  title : "Group A",
  persons : [10,12]
},
[...]