Ember js - 切换到现有ember应用程序上的嵌套路由

时间:2016-06-17 20:05:00

标签: javascript ember.js

我的团队和我在4个星期进入一个余烬项目,现在意识到我们的两条路线应该嵌套而不是并排。目前我们有

this.route('conference', { path: '/conference' }, function() {
    this.route('index', { path: '/:id' });
    this.route('submission', { path: '/:id/submission'});
});

我想我们会改用这个(或类似的东西):

this.route('conference', { path: '/conference' }, function() {
    this.route('index', { path: '/:id' }), function() {
        this.route('submission', { path: '/:id'});
    };
});

我们希望这会影响我们的ember应用中的很多内容。我们正试图找出实现这种转变的最顺畅的方式。我首先想知道,如果上面的代码是最好的方法。将有多个会议,每个会议应支持多个提交。我也不确定如何构建我的文件夹。是否有'ember generate'命令或我是否需要手动更改文件夹?

希望有人之前做过这个转换,并且可以提供一些见解。感谢。

1 个答案:

答案 0 :(得分:1)

你的新路线结构不起作用。您不能有两条路径相同的路径:

this.route('conference', { path: '/conference' }, function() {
    this.route('index', { path: '/:id' }), function() {
        this.route('submission', { path: '/:id/submission'});
    };
});

您应该可以使用以下命令生成所有内容

ember g route conference
ember g route conference/index
ember g route conference/index/submission

您不必手动管理文件夹结构。只需将控制器保存在控制器文件夹中,将模板保存在模板文件夹中等。