0

我正在尝试使登录过程正常工作。基本上,如果用户没有登录,所有路由都应该重定向到“/login”。除了“/signup”和“/reset”,因为如果你去那里你显然不会登录。

Router.configure({
  layoutTemplate: 'layout'
});

Router.onBeforeAction(function () {

  except: ['signup','reset']
  if (!Meteor.userId()) {
    // if the user is not logged in, render the Login template
    this.render('login');
    }
  else {
      this.next();
  }
});

Router.route('/', function (){
  this.render('app-main-page');
});

Router.route('/signup', function () {
  this.render('signup');},
  {
    name:'signup'
  });

Router.route('/reset', function () {
  this.render('reset');},
  {
    name:'reset'
  });

// and a bunch of more routes within the app 

});

通常,onBeforeAction 正在工作,当有人未登录时,会呈现登录模板。但是,“例外”部分不起作用,这意味着用户无法注册,因为他们被重定向到登录页面。有没有人有任何见解?这似乎是一段非常简单的代码,我完全不知道我可能在哪里出错。

4

1 回答 1

0
onBeforeAction: function() {
    ..

    this.next();
}

用于this,nexr()离开onBeforeAction

于 2014-11-22T19:45:12.070 回答