我有一个集合(Collection2包):
tickets = new Mongo.Collection("tickets");
我想通过模板显示“所有用户”票证(如果管理员已登录),否则仅显示当前用户票证。
我的服务器代码(流星规则包):
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');
});
模板没有任何反应...我做错了什么?
最佳答案
您的模板助手必须返回实际数据,但是在您的代码中您什么也不会返回,只需订阅票证即可。
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
来显示仪表板,否则将首先不显示它。关于javascript - meteor 发布:管理员可以查看所有数据,仅用户可以查看他的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26099446/