2016-09-16 3 views
0

У меня есть 2 маршрутных поезда, команды, созданные с помощью стручков.Эмблема вложенной маршрутизации с контейнерами

trains 
    --route.js 
    --template.hbs 

teams 
    --route.js 
    --template.hbs 

маршрутизатор

Router.map(function() { 
    this.route('trains', function(){ 
    this.route('teams', {path: '/:train_name'}); 
    }); 
}); 

Когда я перейти к// некоторые поезд-название поезда/команд. он не вызывал команды команд. он ищет шаблон «поезда/команды». он ожидает, что папка моих команд будет находиться в папке поездов. как гнездо эти 2 отдельные маршруты

ответ

1
trains 
    --route.js // common for all subroutes 
    --template.hbs // common for all subtemplates 
    index 
    --route.js 
    --template.hbs 
    teams 
    --route.js 
    --template.hbs 

попробовать следующую структуру

Если вам все еще нужно, чтобы сохранить структуру вы показываете - вам необходимо обновить ваш Резольвер app/resolver.js

export default Ember.Resolver.extend({ 
    resolve(fullName) { 
     // put custom logic here 
    } 
}); 

Я могу» t дать вам определенный код, потому что мне нужно отлаживать его, чтобы он работал Подробнее на http://emberjs.com/api/classes/Ember.DefaultResolver.html

P.S.

Вы попробовали?

Router.map(function() { 
    this.route('trains'); 
    this.route('teams', {path: 'trains/:train_name/teams'}); 
}); 
+0

Вы хотите меня поставить папку команд внутри поезда папки. Если так, я этого не хочу. Я хочу отдельно разместить поезда и команды, как показано на рисунке –

+0

@LokeshCherukuri вы попробовали еще одну структуру маршрутов? как в PS в моем ответе? –

1

Вы должны reset the namespace так как маршруты на самом деле на высшем уровне, а не teams существа с пространствами имен в trains. Я не рекомендую это, так как это делает структуру запутанным:

Router.map(function() { 
    this.route('trains', function(){ 
    this.route('teams', { path: '/:train_name', resetNamespace: true }); 
    }); 
}); 
Смежные вопросы