我有这个router
:
// app/router.js
Router.map(function() {
this.route('battles', function(){
this.route('battle', { path: ':id' }, function(){
this.route('combats', function() {
this.route('new');
});
});
});
});
而这些templates
:
// app/templates/battles.hbs
{{#each model as |battle|}}
{{battle.name}}
{{/each}}
{{outlet}}
// app/templates/battles/battle/combats.hbs
{{#each model as |combat|}}
{{combat.date}}
{{/each}}
// app/templates/battles/battle/combats/new.hbs
{{input type="text" value=date}}
<button {{action "createCombat"}}>Create Combat</button>
所以这就是为每个渲染的route
route: /battles
-> app/templates/battles.hbs
route: /battles/B2/combats
-> app/templates/battles.hbs
-> app/templates/battles/battle/combats.hbs
route: /battles/B2/combats/new
-> app/templates/battles.hbs
-> app/templates/battles/battle/combats.hbs
所以对于路线/battles/B2/combats/new
,模板app/templates/battles/battle/combats/new.hbs
不会被渲染。这有一个快速修复:
// app/templates/battles/battle/combats.hbs
{{#each model as |combat|}}
{{combat.date}}
{{/each}}
{{outlet}}
但随后路线呈现:
route: /battles/B2/combats/new
-> app/templates/battles.hbs
-> app/templates/battles/battle/combats.hbs
-> app/templates/battles/battle/combats/new.hbs
而且我不希望在渲染表单时渲染战斗列表。combat/new
我想要这个:
route: /battles/B2/combats/new
-> app/templates/battles.hbs
-> app/templates/battles/battle/combats/new.hbs
如何创建此设置?