Вы бы просто определить маршрут и использовать name
переменную вместо id
:
FlowRouter.route('/groups/:name/event', {});
Тогда позже, когда вы хотите установить контекст данных для ваш шаблон вы могли бы сделать что-то вроде:
let groupName = FlowRouter.getParam("name");
const group = Groups.findOne({ name: groupName });
_id
не особенного в маршруте, параметр маршрута является лишь то, что вы в конечном итоге будет для поиска. Хорошая вещь о _id
заключается в том, что она гарантирована уникальной. Если вы ищете по имени, вам может потребоваться обеспечить уникальность в вашей модели, если вы действительно не хотите список.
Это работает, но как я могу получить '' в URL? Я получаю это: 'http: // localhost: 3000/groups/My% 40Group/event' и хочу: http: // localhost: 3000/groups/My_Group/event'. Кодов символов в URL нет. Есть идеи? –
Может быть, попробуем decodeURI? https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/decodeURI –