我有一个集合(Collection2包):
tickets = new Mongo.Collection("tickets");
如果管理员已登录,我想通过模板显示所有用户票证,否则只显示当前用户票证。
我的服务器代码(meteor-rules包):
Meteor.publish('tickets', function(){
if (Roles.userIsInRole(this.userId, ['admin'])){
return tickets.find({},{sort:{deadline: 1}});
}else{
return tickets.find({_id: this.userId}, {sort:{deadline: 1}});
}
});
我的客户代码:
Template.dashboard.helpers({
tickets: function () {
Meteor.subscribe('tickets');
});
模板上什么都没发生......我做错了什么?
答案 0 :(得分:1)
您的模板助手必须返回实际数据,但在您的代码中,您不会返回任何内容,只需订阅您的门票。
Template.dashboard.helpers({
tickets: function () {
// return a cursor fetching all tickets that were pushed to the client
// thanks to the subscription
return tickets.find();
}
});
根据您的需要,您可能希望仅在订阅准备就绪时使用iron:router
来显示您的信息中心,否则它将首先显示为未填充。