2013-02-05 77 views
3

在ember.js前4我想實現它響應以下途徑(等等)路由:Ember.js PRE4多個嵌套路由

/contact/[id] 
/contact/edit 
/contact/new 
/contact/list 
/contact/list/my 
/contact/list/team 
/contact/list/groups 

第一路線(最多列出)我可以管理: 列表(我的/團隊/組)的變體是我掙扎的地方。我剛剛得到一個:「沒有路由加載URL'/聯繫人/列表/我的'錯誤時調用它

我已經嘗試了多種變體如何實現這種嵌套。這是我目前的嘗試:

App.Router.map(function() 
    { 
     this.route("index"); 

     this.resource("contact", function(){ 
      this.route('new'); 
      this.route('show', { path: "/:contact_id" }); 
      this.route('edit', { path: "edit/:contact_id" }); 
     }); 

     this.resource("contact.list", function(){ 
      this.route("index"); 
      this.route("my"); 
     }); 


    }); 

望着App.Router.router.recognizer.names:我看到下面的輸出:

contact.edit: Object 
contact.index: Object 
contact.list.index: Object 
contact.list.my: Object 
contact.new: Object 
contact.show: Object 
index: Object 
__proto__: Object 

任何想法

回答

2

這似乎爲我工作:

App.Router.map(function() 
    { 
     this.route("index"); 

     this.resource("contact", function(){ 
      this.route('new'); 
      this.route('show', { path: "/:contact_id" }); 
      this.route('edit', { path: "edit/:contact_id" }); 
      this.resource("contact.list", { path: "list/" },function(){ 
       this.route("index"); 
       this.route("my"); 
      }); 
     }); 
    });