0

我怎样才能定义这样的路线:

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

我目前有这个配置:

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

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

4

1 回答 1

1

你最好做这样的事情:

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

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

  • AUsersRoute带有 URL /users、 aUsersController和一个User模型,您将在其中加载所有用户。
  • AUserRoute与 URL /users/:user_id, a和您将加载单个用户详细信息UserController的相同模型。User
  • AProjectsRoute带有 URL /users/:user_id/projects、 aProjectsController和一个Project模型,您将在其中加载用户项目。

JSBin 示例展示了这一点。

有关定义路由以及 Ember 期望看到(或为您生成)的更多信息,请参阅此处。

于 2013-07-31T12:56:44.573 回答