我怎样才能定义这样的路线:
- /users (显示所有用户)
- /users/:user_id (显示特定用户)
- /users/:user_id/projects (显示特定用户的项目)
我目前有这个配置:
@resource 'users', path: '/users/:user_id', ->
@route 'projects'
但问题是我无法访问/users
(没有这样的路线)。UsersIndexRoute
指的是/users/:user_id
。
我怎样才能定义这样的路线:
我目前有这个配置:
@resource 'users', path: '/users/:user_id', ->
@route 'projects'
但问题是我无法访问/users
(没有这样的路线)。UsersIndexRoute
指的是/users/:user_id
。
你最好做这样的事情:
this.resource('users', function() {
this.resource('user', {path: '/:user_id'}, function() {
this.resource('projects');
});
});
这将生成(或者如果你已经定义了它们;使用):
UsersRoute
带有 URL /users
、 aUsersController
和一个User
模型,您将在其中加载所有用户。UserRoute
与 URL /users/:user_id
, a和您将加载单个用户详细信息UserController
的相同模型。User
ProjectsRoute
带有 URL /users/:user_id/projects
、 aProjectsController
和一个Project
模型,您将在其中加载用户项目。JSBin 示例展示了这一点。
有关定义路由以及 Ember 期望看到(或为您生成)的更多信息,请参阅此处。