http://emberjs.com/guides/routing/defining-your-routes/に従って、ember がこれをサポートしていないことは承知しています。「ルートをネストすることはできませんが、リソースをネストすることはできます」
しかし、私がやろうとしていることは理にかなっているように見えるので、どこかでこれに対するサポートがあると思います.
ここでの目標は、次のような構造にすることです。
this.resource('project', { path: '/project/:project_id' }, function(){
this.route('manage', function(){
this.route('settings');
this.route('team');
this.route('notifications');
/* etc */
});
});
言い換えれば、「プロジェクト」インスタンスを参照する、管理できる項目のサブセクションを含む「管理」セクションが必要です。
私はこれを行うことができます:
this.resource('project', { path: '/project/:project_id' }, function(){
this.route('manage.settings',{path : '/manage/settings'});
this.route('manage.team',{path : '/manage/team'});
/*etc*/
});
しかし、これが失敗する場所は次のとおりです。
- リソースのサブセクション間でナビゲーションを共有できません (つまり、サブルートによって設定されたアウトレットを持つ管理テンプレートを持っています)。
- 私のsettings.hbsは親リソースにアクセスしていません(これはルーター構成の「モデル」または「setupController」フック内で修正されていると確信しています。どちらが/どのようにかわかりません)
何か助けはありますか?