Маршрут Ember с динамическим именем сегмента
Я только начинаю с 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-адрес в следующем виде и отобразить все игры, которые принадлежат "wizards":
http://localhost:4200/wizards
Любые советы: оцененный.
1 ответ:
Как указывает @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-адрес маршрута, включая динамический сегмент. Смотрите здесь для документации Ember по этому вопросу.