2016-06-07 4 views
0

У меня есть URL в моем проекте, как это: https://localhost:3000/groups/KhHB9TwzZxiddgJND/eventПользовательский URL в Метеоре

Я хочу, чтобы получить somethink так: https://localhost:3000/groups/groupName/event

Как я могу это сделать? Я использую Meteor 1.3 на Blaze, поток-маршрутизатор для маршрутизации

ответ

0

Вы бы просто определить маршрут и использовать name переменную вместо id:

FlowRouter.route('/groups/:name/event', {}); 

Тогда позже, когда вы хотите установить контекст данных для ваш шаблон вы могли бы сделать что-то вроде:

let groupName = FlowRouter.getParam("name"); 
const group = Groups.findOne({ name: groupName }); 

_id не особенного в маршруте, параметр маршрута является лишь то, что вы в конечном итоге будет для поиска. Хорошая вещь о _id заключается в том, что она гарантирована уникальной. Если вы ищете по имени, вам может потребоваться обеспечить уникальность в вашей модели, если вы действительно не хотите список.

+0

Это работает, но как я могу получить '' в URL? Я получаю это: 'http: // localhost: 3000/groups/My% 40Group/event' и хочу: http: // localhost: 3000/groups/My_Group/event'. Кодов символов в URL нет. Есть идеи? –

+0

Может быть, попробуем decodeURI? https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/decodeURI –

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