Ember.js New Router: acceso a objetos serializados desde segmentos de ruta dinámicos principales

Hubo una similarproblema ya.

Asumiendo las siguientes rutas:

App.Router.map(function (match) {
  match('/').to('index');
  match('/posts').to('posts', function (match) {
    match('/').to('postsIndex');
    match('/:post_id').to('post', function (match) {
      match('/comments').to('comments', function (match) {
        match('/').to('commentsIndex');
        match('/:comment_id').to('showComment');
      });
    });
  });
});

¿Es posible acceder a ambospost_id ycomment_id enShowCommentRoute? De lo contrario, ¿debería olvidarme de las claves compuestas en mis modelos?

Por quéCommentsRoute#model(params) yCommentsIndexRoute argumento siempre esta vacio? Como recuperarPostlos comentarios de cuando?

Miviolín.

Ejecuta estoejemplo también (hay un registro de consola que muestra el problema.

ACTUALIZACIÓN después de alguna investigación:

SolamentePostRoute tendráparams.post_id. SolamenteShowCommentRoute tendráparams.comment_id y no tendráparams.post_id.

Esto es inaceptable para aplicaciones donde los modelos tienen claves compuestas. En caso de que estemos en transición ashowComment Paso a paso, podemos obtenerComment ejemplo:

App.ShowCommentRoute = Ember.Route.extend({
  model: function(params) {
    var post_id = this.controllerFor('post').get('content.id');
    return App.Comment.find(post_id, params.comment_id);
  }
});

Pero esto no funcionará si lo visitamos directamente./posts/1/comments/1. En este casothis.controllerFor('post') siempreundefined.

Si tiene rutas anidadas con segmentos dinámicos,no poder acceder a estos segmentos en*IndexRoute (PostRoute yPostInderRoute en este ejemplo)En breve, es imposible obtener el modelo de ruta padre cuandovisitando directamente ruta anidada

Respuestas a la pregunta(1)

Su respuesta a la pregunta