0

У меня есть массив из 10 категорий объектов, и каждая категория имеет вспомогательные объекты, такие как сообщения в этой категории. Вот как это выглядит.Метеор: пути к ошибке пути нет. как получить доступ к статье SINGLE внутри вложенного объекта

enter image description here

я получить доступ к списку категорий, как это.

<template name="CategoriesMain"> 
    {{#each articles}} 
    <li> 
     <a href="/unfiltered/{{_id}}"><h2>{{name}}</h2></a> 
    </li> 
    {{/each}} 
</ul> 
</template> 

ссылку

<a href="/unfiltered/{{_id}}"><h2>{{name}}</h2></a> 

доступ списка "сообщений в категории, которая выглядит следующим образом

<template name="CategoriesSingle"> 

<h1>This is a test</h1> 
<ul> 
    {{#each articles}} 
    {{#each posts}} 
    <li> 
     <a href="/catsingle/{{_id}}"><h2>{{title}}</h2></a> 
    </li> 
    {{/each}} 
    {{/each}} 
</ul> 
</template> 

эта ссылка должна предназначаться на одной ножке из списка пост в Категория

<a href="/catsingle/{{_id}}"><h2>{{title}}</h2></a> 

ПРОБЛЕМЫ:

Я получаю ошибку: Там нет маршрута для пути:/catsingle/когда-либо я пытаюсь получить доступ к одной ножке

, даже если у меня есть это в моем routes.js как это

FlowRouter.route('/catsingle/:_id', { 
    name: 'catsingle', 
    action() { 
     BlazeLayout.render("AppLayout", {main: "CategoryArticleSingle"}); 
    } 
}); 

шаблон помощник выглядит следующим образом

Template.CategoryArticleSingle.helpers({ 
     articles: function() { 
     var id = FlowRouter.getParam('_id') 
     return CategoryCollection.findOne({_id: id}); 
     } 
    }); 

Как я могу успешно единственный пост в категории?

ответ

0

Ваш массив posts не имеет ключа _id, он имеет ключ ID.

Try:

<a href="/catsingle/{{ID}}"><h2>{{title}}</h2></a> 
+0

Я сделал это, маршрут не работает нормально, его будет шаблон ОК, но я не могу получить {{название}} для вывода ничего, хуже будет есть нет ошибки. @MichelFloyd –

+0

Я могу отчетливо видеть сообщения в console.log, но по какой-то причине я могу получить их в шаблоне –

+0

(1) Убедитесь, что 'CategoryCollection.findOne ({_ id: id})' фактически что-то возвращает. (2) Если вы просматриваете только один документ, который вам нужен '{{#with articles}}' вместо '{{#each articles}}', потому что последний ожидает курсор (т. Е. Результат '.find () ') вместо одного документа (' .findOne() ') –

Смежные вопросы