2013-10-05 53 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

相关问题