2013-10-05 106 views
0

我試圖用燼和燼數據構建一個github問題跟蹤器。 github API通過節點服務器訪問(並且工作正常),但我在嘗試使用ember的動態段時遇到了問題,並且我不確定構建我的路線&模型的最佳方式。Ember&ember data:如何在多個模型中使用多個動態細分?

我應該如何構造我的路線和模型,如果我想URL爲/user/repo/issue

我試過動態段和資源/途徑的所有不同的組合...

this.resource('user', {path: ':user'}, function(){ 
    this.resource('repo', {path: ':repo'}, function(){ 
    this.resource('issue', {path: ':issue_id'}); 
    }); 
}); // 1 

this.resource('repo', {path: ':userAndRepo'}, function(){ 
    this.resource('issue', {path: ':issue_id'}); 
}); // 2 

this.resource('repo', {path: ':userAndRepo'}); 
this.resource('issue', {path: ':userAndRepo/:issue_id'}); //3 

但我似乎無法得到它的工作順利進行。我正在試圖理解它,我正在撕裂我的鬍子。

我得到的是具有:userAndRepo組合段最接近的,但對於任何鏈接到的,我在我的問題的模板,我必須明確地設定模型的IssuesController讓我聯繫到了{{#link-to 'issues' userAndRepo issue}} 此外,我的API每次從兒童issue路線移回父母repo路線時都受到打擊。

任何想法或建議將不勝感激。道歉,如果我沒有很好地解釋自己。

回答

0

數字1是正確的實現。這裏有一個嵌套資源的簡單例子(我很懶,只是使用pojos,但你可以看到模型鉤子何時被擊中)。

http://emberjs.jsbin.com/EWogUdE/36/edit

http://emberjs.jsbin.com/EWogUdE/36#/

App.Router.map(function() { 
    this.resource('people', function(){ 
    this.resource('person', {path:':name'}, function(){ 
     this.resource('dog', {path:':dogname'}); 
    }); 
    }); 
}); 
+0

感謝您的回答!這一切似乎都有道理。我會再試一次... – Iest

相關問題