我想重定向到' /'用户登录时的主页面,我设法使用this.render重定向到' /'主页面,但之后它只显示主页面,无法访问其他网址。
Router.route('/', {name: 'yaksList'})
Router.route('/submit', {name: 'yaksSubmit'});
Router.route('/login', {name: 'accounts'});
Router.onBeforeAction(function() {
if (Meteor.userId()) {
this.render('yaksList');
} else {
this.next();
}
});

我尝试使用Router.go(' yaksList')而不是this.render,但它无效。请问什么是正确的解决方案?
答案 0 :(得分:0)
有关如何处理受限路线here的详细说明。
先生。 Schoebel的方法让您需要登录才能访问某些路线。如果您尝试直接访问受限制的路线,然后将您带到那里,它会在您的登录页面中间设置。
答案 1 :(得分:0)
您可以使用yaksList template
帮助程序在currentUser
上轻松完成此类操作。
{{#if currentUser}}
{{> yaksList}}
{{else}}
{{> login}}
{{/if}}
或使用router.go
。
Router.go('yaksList');
//在提交按钮上。
<强>更新强>
但他们需要在他们想要upvote / downvote帖子时登录
在事件处理程序上使用验证。
Template.yaksLists.events({
'click #upVote':function(event,template){
//some other code here
//validation
if(!Meteor.userId()){
//here you redirect the user to the /login
Router.go('/login');
}else{
//do the up vote stuff
}
}
})