我遇到了设置路线的问题。
我有一个路线组this.route(' users',function(){
的
/users
/users/add
以及this.route('用户',{路径:' / users /:user_id'},function(){
用于
等路线/users/1/edit
/users/1/goals
/users/1/goals/1
我遇到的问题是{{#link-to'用户'}}用户{{/ link-to}}会产生指向" / users / undefined"的链接。 ,这导致其他问题,它需要是" / users"。有没有办法做这样的路线或者我会被迫拥有"用户"和"用户"路线组?
我的路线:
this.route('users', function () {
this.route('add');
});
this.route('users', {path: '/users/:user_id'}, function () {
this.route('edit');
this.route('goals', function(){
this.route('add');
this.route('edit', {path: '/:goal_id/edit'});
});
});
更新:
结束了this.route('users', function () {
this.route('add');
});
this.route('user', {path: '/user/:user_id'}, function () {
this.route('edit');
this.route('goals', function(){
this.route('add');
this.route('edit', {path: '/:goal_id/edit'});
});
});
此外,我需要修复我的分支路径js,并了解this.modelFor(' user')以获取父模型,因为params被消耗。
答案 0 :(得分:1)
在您的示例中,带参数的路径只需要位于始终具有ID的路径上:
this.route('users', function () {
this.route('add');
this.route('edit', {path: '/:id/edit'});
this.route('goals', {path: '/:id/goals'}, function() {
this.route('add');
this.route('edit', {path: '/:goal_id/edit'});
});
});
答案 1 :(得分:0)
看起来你需要尝试嵌套路线。它可能看起来像这样:
this.route('users', function () {
this.route('add');
});
this.route('user', {path: '/user/:user_id'}, function () {
this.route('edit');
this.route('goals', function(){
this.route('add');
});
this.route('goal', {path: '/goal/:goal_id', function(){
this.route('edit');
});
});