2015-05-08 2 views
0

мне нужно создать 2 ПутьКак правильно создать маршрут?

/users/philosophy

/topic/philosophy

На /users/ есть список категорий и topic список категорий. На странице /users/philosophy есть список пользователей по категориям и то же по теме. Категории такие же. Таким образом, я создал маршрутизатор:

this.resource('categories', { path: '/:section' }, function(){ 
    this.resource('category', {path: '/:url'}); 
}); 

И это работает. Но теперь я хочу добавить фильтр /users/philosophy/top для просмотра списка пользователей. Я пытался сделать это так:

this.resource('categories', { path: '/:section' }, function(){ 
    this.resource('category', {path: '/:url/:filter'}); 
}); 

Но если удалить сегмент top из URL, это бросить ошибку, так filter пары стали необходимыми. Как я могу сделать filter param ненужным? Или еще один способ построить маршрутизатор.

+0

Только совет - не используйте 'resource', замените его на' route'. Ресурс будет устаревшим в ближайшее время. –

ответ

1

Похоже, вы говорите об ember query params.

App.CategoriesCategory = Ember.Controller.extend({ 
    queryParams: ['filter'], 
    filter: '' /* default value */ 
}); 

и транзитная пользователя к этому маршруту с использованием filter следующего параметра помощника

{{#link-to 'categories.category' url (query-params filter="top")}}Show top{{/link-to}} 

, если вы не хотите использовать параметр затем пропустить параметры запроса.

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