目前,我正在使用Meteor提供的帐户包,以便人们注册我正在处理的网站。我希望允许用户拥有一个生物页面,每当我登录某个特定的人时,会出现一个带有大量链接的侧栏导航,其中一个链接表示" Bio"。我希望bio将我从主页重定向到MY bio页面,即:
localhost:3000/ -> localhost:3000/bio/uSerId23453423434
目前正在写我正在使用Iron-Router执行此操作:
...
<li><a href="{{pathFor 'bio'}}">Bio</a></li>
...
在我的路由器中我有:
Router.map(function() {
...
this.route('bio',
{path: '/bio/:_id',
data: function () { return {_id: Meteor.userId()} }
});
...
但是当我点击链接时,我没有被重定向到任何地方。关于我做错了什么的任何想法?
答案 0 :(得分:1)
您的路径中不需要参数_id,因为您已经在使用Meteor.userId()。如果铁路由器在模板中找不到_id参数,则不会渲染。删除它将解决您的问题:
Router.map(function() {
...
this.route('bio',
{path: '/bio',
data: function () { return {_id: Meteor.userId()} }
});
...
如果你想保留带有_id的路径,你应该使用{{#with}}来为你的{{pathFor'bio'}}设置数据上下文
您可以在以下网址查看更多信息: