使用Iron-Router重定向页面

时间:2014-04-23 17:27:41

标签: meteor iron-router

目前,我正在使用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()} }
               });
    ...

但是当我点击链接时,我没有被重定向到任何地方。关于我做错了什么的任何想法?

1 个答案:

答案 0 :(得分:1)

您的路径中不需要参数_id,因为您已经在使用Meteor.userId()。如果铁路由器在模板中找不到_id参数,则不会渲染。删除它将解决您的问题:

Router.map(function() {
    ...
    this.route('bio',
               {path: '/bio',
                data: function () { return {_id: Meteor.userId()} }
               });
    ...

如果你想保留带有_id的路径,你应该使用{{#with}}来为你的{{pathFor'bio'}}设置数据上下文

您可以在以下网址查看更多信息: