Я использую Meteor 1.0Метеор издает даже когда autopublish удаляется
У меня есть следующий код:
/lib/collections.js
Members = new Mongo.Collection('members');
/lib/router.js
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
notFoundTemplate: 'notFound',
waitOn: function() { return Meteor.subscribe('members'); }
});
Router.route('/', {name: 'menu'});
Router.route('/member/new/', {name: 'memberNew'});
Router.route('/member/renew/', {name: 'memberRenewal'});
/server/publications.js
Meteor.publish('members', function() {
console.log("Publishing....");
return Members.find();
});
/client/templates/memberList.js
Template.membersList.helpers({
listMembers: function() {
return members.find().fetch(); >>>>>> Error line
}
});
Я получаю следующее сообщение об ошибке:
Exception in template helper: ReferenceError: members is not defined
at Object.Template.membersList.helpers.listMembers
(http://meteorvb.dhcp.meraka.csir.co.za:3000/client/templates/membersList.js?
Я удалил autopublish немного, если я изменю /client/templates/memberList.js в читать
Template.membersList.helpers({
listMembers: function() {
return Members.find().fetch();
}
});
Все работает.
Может ли кто-нибудь мне помочь?
Непонятно, каков ваш вопрос. Ошибка вызвана тем, что коллекция называется «Members» с капиталом M, но вы поставили «участников». Затем вы исправили это в своем коде, и это сработало. В чем проблема? – tarmes
Спасибо за ответ. Я понял из вашей метеоритной книги, что если вы удалили автоопубликовать из Метеор, чтобы клиент не смог напрямую получить доступ к коллекции «Участники», но должен был использовать участников подписки. Я понимаю это неправильно? –
'members' - это имя коллекции в MongoDB, и имя Meteor использует для определения того, с какой клиентской коллекцией синхронизировать данные, которые вы публикуете на сервере. Но это не объект JS, а просто имя. 'Members' - это объект JS с прикрепленным к нему API Meteor, который позволяет вам искать/вставлять/удалять/etc внутри этой коллекции. На самом деле, это всего лишь обертка вокруг коллекции MongoDB или MiniMongo с API и паб/sub-логикой. – richsilv