2016-01-31 8 views
1

Моя боковая панель должна загружать имена и пути из коллекции узлов. мои publication.jsИспользование Blaze на метеор не работает так, как говорится в учебниках

Meteor.publish('nodes', function(){ 
return Nodes.find(); 

}); мои nodes_find.js в файле сервера с файлом publication.js

if(Nodes.find().count() === 0){ 
Nodes.insert({ 
    name: "Example Node", 
    path: "ExampleNode" 
}); 
Nodes.insert({ 
    name: "Node 2", 
    path: "ExampleNode" 
}); 
Nodes.insert({ 
    name: "Node 3", 
    path: "ExampleNode" 
}); 

} блок Html для узлов и путей, чтобы показать на

<template name="sidebar"> 
<ul class="sidebar-nav" id="sidebar" role="navigation">  
<div class="nodes"> 
    {{#each nodes}} 
    <li> 
    <a href="{{path}}"> 
     {{name}} 
    </a> 
    </li> 
    {{/each}} 
    </div> 
</ul> 

и, наконец, sidebar.js файл

Template.sidebar.helpers({ 
nodes: function(){ 
    return Nodes.find(); 
} 

});

Хотя все, что я получаю, это 4 бумажных тонких вкладки без имен и без дорожек. Я прочитал книгу Discover Meteor и сделал практику, и видели, как они ее используют, и смотрели на многих рубриках и видели это точный код. Есть что-то, чего я не хватает?

+1

Вы подписаны на публикацию? (Или автообновить?) – bluebird

+0

@bluebird Да, я опубликовал и подписался. Серверная сторона Meteor.publish ('nodes', function() { return Nodes.find(); }); сторона клиента Meteor.subscribe («узлы»); – mjwrazor

ответ

0

Я думаю, что вы забыли подписаться на свою публикацию. Или, если установлен ваш autopublish, вам не нужно подписываться. И, пожалуйста, проверьте свою клиентскую консоль, если ваши данные действительно передаются в клиенте или нет.

+0

Я подписался в клиенте и опубликовал его на сервере и удалил автообновление. Но как я могу проверить свою клиентскую консоль для переданных данных. – mjwrazor

+0

Я зашел и набрал Nodes.find(). Fetch() и был возвращен 4 объекта, когда должно быть только 3, а titel: not name: был Node 1 для всех из них. – mjwrazor

1

@ Файсал Ахмед благодарит вас за предложение протестировать консольные тесты. Я полностью забыл эту идею. У меня не было, хотя в базе данных было бы сохранить прежнюю базу данных назад, когда я впервые сделал приложение. Итак, я исследовал его и обнаружил, что использование сброса Meteor поможет с очисткой базы данных. Теперь у меня есть то, что я хочу на своем сайте, большое спасибо за эту идею.

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

  • Нет связанных вопросов^_^