2015-04-27 46 views
0

我試圖使用ensureSignedIn插件上的所有路線,除了前面的「家」網頁有按鈕登錄到分開網站的部分。使用流星,useraccounts核心ensureSignedIn插件將不除「/」路線

這是我的「家」的路線:

Router.route('/', function() { 
    this.render('home'); 
}); 

下面是插件和異常行:

Router.plugin('ensureSignedIn', { 
    except: ['home', 'atSignIn', 'atSignUp', 'atForgotPassword'] 
}); 

兩個片段是從我的lib/routes.js文件,如果使一個區別。 我已經嘗試在except:部分中添加不同的路由名稱,並且他們得到正確的例外,但是我不能爲我的生活獲取'主'路由以不顯示「必須登錄」。

我已經通過gitHub問題進行了搜索和閱讀,並沒有看到任何其他人有這個問題,所以這可能是我做錯了,而不是使用useraccounts或鐵路由器的錯誤。

回答

2

設置/路線的名稱root,那麼這條路的名字添加到ensureSignedIn設置:

Router.route('/', { 
    name: 'root', 
    template: 'home', 
    action: function() { 
     this.render(); 
    } 
}); 

Router.plugin('ensureSignedIn', { 
    except: ['root', 'atSignIn', 'atSignUp', 'atForgotPassword', 'atResetPwd'] 
}); 
+0

完美!我很確定我嘗試了除名字之外的所有內容:「根」部分,這正是我所需要的。代碼如你所知它會引發一個錯誤,只需要從第一行刪除函數()以使其工作。謝謝! – soisystems

+0

@soisystems你是對的。對於那個很抱歉。我整天在節點和流星之間來回切換,所以當我不需要流星時,我有時會不小心寫回調。我很高興你能把它運用起來。 –

+0

@soisystems在AccountsTemplates中有一個名爲「home」的內置路由,這就是爲什麼它應該拋出一個錯誤,並抱怨說「home」路由被定義了多次。 – Aram