2015-02-23 4 views
2

Я только начинаю с Ember JS и Ember CLI и пытаюсь выяснить эту проблему маршрутизации. У меня есть групповая модель с множеством игровых моделей. Со следующим маршрутом, я способен отображать игры просто отлично из группы URL:Эмбер-маршрут с динамическим названием сегмента

Router.map(function() { 
    this.resource("groups", function() { 
    this.route('show', {path: ':group_id/show' }); 
    }); 
}); 

Это приводит к URL с формой:

http://localhost:4200/groups/1/show 

Пусть один из имен групп «Волшебники ». Я хотел бы, чтобы иметь возможность построить URL в следующей форме и делают все игры, которые принадлежат к «волшебников»:

http://localhost:4200/wizards 

Любые советы приветствуются.

+0

Почему бы не добавить новый маршрут, например this.route ('group', {path: ': group_name'}); внутри ресурса групп. – blessenm

ответ

2

Как @blessenm указывает в комментариях, маршрутизатор будет меняться от

Router.map(function() { 
    this.resource("groups", function() { 
    this.route('show', {path: ':group_id/show' }); 
    }); 
}); 

в

Router.map(function() { 
    this.resource("group", { path: ':group_name'}); 
}); 

Второй параметр this.resource() или this.route() не является обязательным. Если вы ничего не пропускаете, он принимает то же имя, что и ваш маршрут/ресурс (группы, в вашем случае). Если вы передаете объект с ключом path: - вы указываете, что URL-адрес маршрута, включая динамический сегмент. См. here для документации Ember по этому вопросу.

Смежные вопросы