铁路由器/流星:除了不工作

时间:2014-11-19 12:00:17

标签: meteor iron-router iron

我正在努力让登录过程正常运行。基本上,所有路线都应该重定向到" / login"如果用户没有登录。除了" /注册"和" / 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正在运行,当某人未登录时,将呈现登录模板。然而,"除了"部分无效,这意味着用户无法注册,因为他们被重定向到登录页面。有没有人有任何见解?它似乎是一段非常简单的代码,我完全不知道我在哪里犯了错误。

1 个答案:

答案 0 :(得分:0)

onBeforeAction: function() {
    ..

    this.next();
}

使用this,nexr()离开onBeforeAction