2014-06-23 89 views
1

是否有任何方法指定Ember中所有生成的路由的默認值?例如,我需要檢查每個路由以查看用戶是否在做任何事情之前登錄。是的,我可以製作一個認證路線,然後延伸它的每一條路線,但是現在。然後,我得到了所有這些空路由,因爲我需要擴展除默認以外的其他東西。在Ember中指定默認路由

是否有任何其他方式來做這樣的事情?最好不要求我爲應用程序中的每個視圖創建一個Route。思考?

編輯

爲了澄清一些關於什麼也不想我進一步,這是我的路線文件中的一個:

import AuthenticatedRoute from '../routes/authenticated'; 
export default AuthenticatedRoute.extend(); 

回答

0

您可以創建一個是認證的路線父資源,然後將所有應該在其下面進行身份驗證的路由。除非您通過驗證路線,否則您無法到達子路線。坦率地說,即使在你目前的結構下,所有在AuthenticatedRoute下的孩子路線都將被認爲是認證的,因爲他們必須通過那條路線才能到達那裏。 (我更喜歡明確的權威性路由路由器雖然)

App.Router.map(function() { 
    this.resource('auth', {path:''}, function(){ 
    this.resource('foo'); 
    this.resource('bar', function(){ 
     this.route('baz') 
    }); 
    }); 
    this.route('login'); 
}); 

下面是一個模式類似的疑問,我在得到:

Protecting a route using Firebase Simple Login