about.philosophy と about.staff ルートがネストされた「about」リソースがあります。AboutRoute にはリダイレクトがあり、ナビゲーションの「about」リンクをクリックすると、アプリは about.philosophy にリダイレクトされます。
Ew.AboutRoute = Ember.Route.extend({
redirect: function(){
this.transitionTo('about.philosophy');
}
});
ただし、現在、ネストされたルートのいずれかの内部にいて、ナビゲーションの「about」リンクをもう一度クリックすると、about.philosophy にリダイレクトされる代わりに、「/about」がレンダリングされます。これにはテンプレートがないため、壊れています。ページ。
AboutRoute をもう一度入力しようとしても、このリダイレクトが機能しないのはなぜですか?
アップデート
Dan のソリューションはこの問題を修正しましたが、サブナビが壊れる結果にもなりました。サブナビ コードを含む AboutRoute を AboutIndexRoute に変更したところ、サブナビが表示されなくなりました。
Ew.AboutIndexRoute = Ember.Route.extend({
activate: function(){
this.controllerFor('application').set('renderAboutSubNav', true);
},
deactivate: function(){
this.controllerFor('application').set('renderAboutSubNav', false);
},
redirect: function(){
this.transitionTo('about.philosophy');
}
});
次に、application.hbs に次のものがあります。
{{#if renderAboutSubNav}}
{{render 'about/subnav'}}
{{/if}}