我怎样才能定义这样的路线:
- /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的相同模型。UserProjectsRoute带有 URL /users/:user_id/projects、 aProjectsController和一个Project模型,您将在其中加载用户项目。JSBin 示例展示了这一点。
有关定义路由以及 Ember 期望看到(或为您生成)的更多信息,请参阅此处。