Su único problema es intentar iterar un cursor y una matriz secundaria dentro de cada bloque. Si separa sus items
plantilla y un item
individual plantilla, obtendrá el resultado deseado.
En aras de la simplificación, modifiqué su código para que se vea así:
Este es su cuerpo principal:
<body>
{{> items}}
</body>
<template name="items">
{{#each items}}
{{> item}}
{{/each}}
</template>
<template name="item">
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
</template>
Y este es tu ayudante:
Template.items.helpers({
items: function () {
return Items.find();
}
})
Suponiendo que el documento de un artículo se parece a:
{
itemText: String,
itemTags: Array
}
Creé una aplicación en Meteorpad para que juegues:
http://meteorpad.com/pad/BmRQ5fkwWEMBKszJW/SO-27951102
puede modificar aún más el código allí y ver los cambios en tiempo real. Básicamente es jsfiddle para meteorito.
Editar: inspirado en el comentario de @chip-castle, de hecho, puede usar una sola plantilla con each
anidados bloques:
<template name="items">
{{#each items}}
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Pero usar plantillas separadas es más flexible tanto en el diseño como en el manejo de eventos cuando sea necesario.