2015-04-26 134 views
1
Meteor.publish(null, function(){ 

var users = [ Meteor.users.find({})]; 
email="[email protected]"; 
if(users == email){ 
    users = Meteor.this.userId; 
    Roles.createRole('admin'); 
    Roles.setUserRoles(users, 'admin'); 
}else{ 
    users = Meteor.this.userId; 
    Roles.createRole(['']); 
    Roles.setUserRoles(users,['']); 
} 
return Meteor.users.find({}); 
});} 

目标是创建用户时有两个用户ACC一个应该有管理员,另一个是没有角色的普通用户。但是,当我登录acc时,应该获得管理员角色,我不能执行我为管理员角色指定的内容。我错过了一些东西,我无法弄清楚什么,预先感谢您提供的任何帮助。流星角色包,添加角色

回答

1

有多种错误在此代码:

首先,要设置的用户为等于一个数组,然后检查是否它等于一个字符串。这将始终返回false。其次,Meteor.this.userId,应改为this.userId

第三,此行更改:​​

var users = [ Meteor.users.find({})]; 

要么:

var users = Meteor.users.find({}); // users is a cursor 

或:

var users = Meteor.users.find({}).fetch(); // users is an array 
+0

感谢您对纠正代码的帮助。我做到了 – OunknownO

相关问题