Javascript 在FlowRouter中添加/admin路由时忽略根路由

Javascript 在FlowRouter中添加/admin路由时忽略根路由,javascript,meteor,flow-router,Javascript,Meteor,Flow Router,“我的家”路线单独运行时有效: FlowRouter.route('/', { name: 'home', triggersEnter: [ function(context, redirect) { var ExperimentsSub, handle, randomExperiment; console.log('Home triggers'); ExperimentsSub = new SubsManager; handle

“我的家”路线单独运行时有效:

FlowRouter.route('/', {
  name: 'home',
  triggersEnter: [
    function(context, redirect) {
      var ExperimentsSub, handle, randomExperiment;
      console.log('Home triggers');
      ExperimentsSub = new SubsManager;
      handle = ExperimentsSub.subscribe('randomExperiment');
      if (handle.ready && Experiments.find.count) {
        randomExperiment = Experiments.findOne;
        return redirect('/experiment/' + randomExperiment._id);
      }
    }
  ],
  action: function() {
    console.log('Rendering home');
    return BlazeLayout.render('layout', {
      content: 'home'
    });
  }
});
但是当我加入我的
/admin
路线时,我会通过admin路线浏览
/
路线

FlowRouter.route('/admin', {
  name: 'admin',
  triggersEnter: [console.log('Admin triggers'), !Roles.userIsInRole(this.userId, ['admin']) ? FlowRouter.go(FlowRouter.path('login')) : void 0],
  action: function() {
    console.log('Rendering admin');
    return BlazeLayout.render('layout', {
      content: 'admin'
    });
  }
});

我之所以知道这一点,是因为我正在进行控制台日志记录。当我使用两种路径浏览
/
时,控制台输出为
呈现管理
。它为什么要这样做,我如何修复它?

问题出在我的管理路由触发器中。我没有分配函数数组。我不清楚这为什么会产生我所看到的副作用,但纠正它修复了这条路线

具有fixed triggers属性的路由如下所示:

FlowRouter.route '/admin',
  name: 'admin'
  triggersEnter: [ (context, redirect) ->
    console.log 'Admin triggers'
    unless Roles.userIsInRole this.userId, ['admin']
      redirect FlowRouter.path('login')
  ]
  action: ->
    console.log 'Rendering admin'
    BlazeLayout.render 'layout', content: 'admin'