¿Por qué Ember Router solo permite navegar a hojas de ruta?

Algo que he notado recientemente con Ember Router es que solo permite navegar por rutas de hoja, rutas sin rutas secundarias.

Ahora, a menos que esté haciendo las cosas incorrectamente, entonces esto parece un error / error en el diseño.

Tomemos por ejemplo algo como esto:

Tengo una colección de proyectos, cada proyecto tiene muchos colaboradores, con esto quiero construir una IU con un diseño de 3 columnas (algo así como su cliente de correo electrónico de escritorio estándar) donde a la izquierda tengo una lista de proyectos, al hacer clic en proyectar la columna central muestra una lista de colaboradores, y al hacer clic en un colaborador se cargan sus detalles en la columna de la derecha.

Ahora con el enrutamiento quiero navegar a/projects/1 al hacer clic en un proyecto y en/projects/1/collaborators/23 Al hacer clic en un colaborador.

Aquí hay un enrutador que ilustra la primera parte de la ruta anidada:

App.reopen(
  Router: Ember.Router.extend(
    enableLogging: true
    location: 'hash'

    root: Ember.Route.extend(
      index: Ember.Route.extend(
        route: '/'

        redirectsTo: 'projects'
      )

      projects: Ember.Route.extend(
        # This route is not routable because it is not a leaf route.
        route: '/projects'

        connectOutlets: (router) ->
          # List projects in left column
          router.get('applicationController').connectOutlet('projects', App.projects)

        show: Ember.Route.extend(
          # This route is routable because it is a leaf route.
          route: '/:project_id'

          connectOutlets: (router, project) ->
            # Render the project into the second column, which actually renders
            # a list of collaborators.
            router.get('projectsController').connectOutlet('project', project)
        )
      )
    )
  )
)

Como verás, Ember no llama a updateRoute (establece la URL) hasta la transición aroot.projects.show por esta lineahttps://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/routable.js#L81

¿Alguien más ha hecho algo como esto? ¿Hay una mejor manera de diseñar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta