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

Смежные вопросы