我的项目中有这样的网址:https://localhost:3000/groups/KhHB9TwzZxiddgJND/event
我想得到这样的想法:https://localhost:3000/groups/groupName/event
我该怎么办?我在Blaze上使用Meteor 1.3,使用流路由器进行路由
答案 0 :(得分:0)
您只需定义路线并使用name
变量而不是id
:
FlowRouter.route('/groups/:name/event', {});
然后,当您想要为模板设置数据上下文时,您可以执行以下操作:
let groupName = FlowRouter.getParam("name");
const group = Groups.findOne({ name: groupName });
_id
在路线中并不特殊,路线参数只是您最终要搜索的内容。关于_id
的好处是它保证是唯一的。如果您按名称搜索,则可能必须在模型中强制执行唯一性,除非您确实需要列表。