Seu único problema é tentar iterar um cursor e um sub-array dentro do mesmo cada bloco. Se você separar seus
items
modelo e um item
individual modelo, você terminará com o resultado desejado. Para simplificar, alterei seu código para ficar assim:
Este é o seu corpo 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>
E este é o seu ajudante:
Template.items.helpers({
items: function () {
return Items.find();
}
})
Assumindo que um documento de item se parece com:
{
itemText: String,
itemTags: Array
}
Eu criei um aplicativo no Meteorpad para você brincar:
http://meteorpad.com/pad/BmRQ5fkwWEMBKszJW/SO-27951102
você pode alterar ainda mais o código e ver as alterações em tempo real. É basicamente jsfiddle para meteoro.
Editar: inspirado pelo comentário de @chip-castle, você pode de fato usar um único modelo com
each
aninhado blocos:<template name="items">
{{#each items}}
<h2>{{itemText}} tags are:</h2>
<ul>
{{#each itemTags}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Mas usar modelos separados é mais flexível tanto no design quanto no tratamento de eventos, quando necessário.