2014-04-18 37 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')){}