2014-04-18 34 views
1

我想确保我的流星应用与iron-router,这里是我的onBeforeAction功能:流星IronRouter onBeforeAction导致延迟回调例外

this.route('manageUsers', { 
    path: '/panel/user_management', 
    layoutTemplate: 'panel', 
    onBeforeAction: function(){ 
     if((Meteor.user() === null)||(Meteor.user().role !== 'superAdmin')){ 
      Router.go('signIn'); 
      throwAlert('You dont have access to see this page', 'notification'); 
     } 
    } 
}); 

当我试图通过按一个链接按钮去/panel/user_management子页面一切顺利(用户重定向等),但是当我直接在我的浏览器(localhost:3000/panel/user_management)键入路径,并敲入输入用户没有得到重定向,我收到控制台Exception in defer callback错误。任何人都知道我在做什么错了?

有关其他信息,此视图会列出所有注册的用户。当我正常进入这条路径(没有错误)时,我会看到完整的用户列表。当我收到错误模板时,不会出现在> yield中。

+0

是什么'throwAlert'方法呢? –

+0

这是我处理/显示错误的方法(它有两个参数:消息和消息类型(取决于第二个参数,它显示了我的通知/警告框的蓝色/绿色/红色背景色,使用html&css构建 - 它看起来非常类似自举) – mrmnmly

回答

1

最后,我已经解决了这个 - 这个问题是错误的if声明,这里是正确的:

if((!Meteor.user())||(Meteor.user().role !== 'superAdmin')){}