2013-10-25 101 views
1

我正在構建一個名爲「Program」的模型的ember.js應用程序。嵌套在多個資源中的相同路由ember.js

用戶可以通過去鑽到一個程序:
Genre > Subgenre > ProgrammeFolder > List > Programme

這裏是我的路由器:

this.resource('mylists', { path: '/' }, function() { 
    this.resource('folder', { path: '/folder/:folder_id' }, function() { 
    this.resource('list', { path: '/list/:list_id' }, function() { 
     this.resource('programme', { path: '/programme/:programme_id' }); 
    }); 
    }); 
}); 

this.resource('catalogue', function() { 
    this.resource('genre', { path: '/genre/:genre_id' }, function() { 
    this.resource('subgenre', { path: '/subgenre/:subgenre_id' }, function() { 
     this.resource('programme', { path: '/programme/:programme_id' }); 
    }); 
    }); 
}); 

的UI必須是深層嵌套(流派觀點呈現在出口目錄模板的名稱,流派模板出口的子類別等等)。

我現在的問題是因爲這兩個生成的路由都被稱爲ProgrammeRoute當我在列表模板裏面的程序路由時,它實際上是轉到嵌套在子類路由中的程序路由。

我應該在這裏做什麼?

要解決這個問題,我已經命名了一條路線ListProgrammeRouteSubgenreProgrammeRoute,但這會導致一些重複。

+1

現在,您需要以不同的方式命名這兩種資源。你可以在一個mixin或base class之間共享它們之間的代碼,以避免重複。 – Ryan

回答