meteor meteorite handlebars.js iron-router

¿Cómo pasar un parámetro a pathFor en Handlebars para Iron-Router con Meteorite?



handlebars.js (3)

Tengo una ruta simple con un parámetro:

this.route(''article'', { path: ''/article/:_id'', data: function() { return Articles.findOne(this.params._id); } });

Me gustaría utilizar el pathFor handlebar helper aquí con el _id:

{{#each articles}} <li><a href="{{pathFor ''article'' _id}}">{{title}}</a></li> {{/each}}

Sin embargo, esto no funciona para pasar la etiqueta _id a la url ...


En Meteor 1.3.X estoy usando las opciones para la ruta de Ayuda.

{{pathFor route = '''' data = query = '''' hash = ''''}}


En su ejemplo, no necesita pasar ningún parámetro. La pathFor ayudante utilizará automáticamente el contexto de datos actual y tomará la propiedad de ese objeto. Como tiene un iterador de {{#each articles}} , el contexto de datos actual para pathFor se establecerá en el elemento actual de la lista (un artículo). El objeto del artículo debe tener una propiedad _id , por lo que el asistente de ruta solo funcionará. Si desea cambiar el contexto de datos, podría pasar otro objeto como primer parámetro a la pathFor para el ayudante, o podría usar el ayudante de bloque {{#with anotherDataContextObject}} .

En v0.5.4, también podría usar los valores de la clave hash de Handlebars para reemplazar el objeto de contexto. En la rama de desarrollo esto ya no es verdad. Si proporciona pares de valores clave como parámetros en su ayudante de barras de dirección, estos se agregarán a la cadena de consulta. Para ilustrar, aquí hay un ejemplo para el cambio en la rama de desarrollo:

{{pathFor ''article'' article q=some+query}} //=> "/article/abcd/?q=some+query

O

{{#with article}} {{pathFor ''article'' q=some+query}} //=> "/article/abcd/?q=some+query {{/with}}


<li><a href="{{pathFor ''article'' _id=this._id }}">{{title}}</a></li>

Así es como pasas un parámetro