Ember.js - 没有动态段的资源索引路由

时间:2013-07-31 12:34:06

标签: ember.js

如何定义这样的路线:

  • / users (显示所有用户)
  • / users /:user_id (显示特定用户)
    • / users /:user_id / projects (显示特定用户的项目)

我目前配置了这个:

@resource 'users', path: '/users/:user_id', ->
    @route 'projects'

但问题是我无法访问/users(没有这样的路线)。 UsersIndexRoute指的是/users/:user_id

1 个答案:

答案 0 :(得分:1)

你最好做点什么:

this.resource('users', function() {
    this.resource('user', {path: '/:user_id'}, function() {
        this.resource('projects');
    });
});

这将生成(或者如果您已定义它们;使用):

  • 包含网址UsersRoute的{​​{1}},/usersUsersController模型,您可以在其中加载所有用户。
  • 包含网址UserUserRoute/users/:user_id模型的UserController,您可以在其中加载单个用户的详细信息。
  • 包含网址User的{​​{1}},ProjectsRoute/users/:user_id/projects模型,您可以在其中加载用户项目。

JSBin example显示了这一点。

有关定义路线以及Ember希望看到(或为您生成)的更多信息,请参阅here