如果我有这样的模型:
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组中的人员,而不是显示夹具中的每个人?这可以在车把上完成吗?或者这是我需要在路线中指定的东西吗?
答案 0 :(得分: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]
},
[...]