2015-04-26 179 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

相關問題