да, я уже говорил выше, что я использую пакет alanning: role ... но по какой-то причине предоставленный вами код не работает, к сожалению. но я очень ценю вашу помощь Большое спасибо
ользую пакет:alanning / Метеор-роли
Я создаю простой интерфейс для администратора, чтобы управлять ролями других пользователей. Пользователь может иметь более одной роли, я использую флажок для выбора ролей.
Проблема в том, что я не могу получить доступ к массиву ролей, который хранится вMeteor.users
Коллекция в моем коде клиента.
В помощнике я проверяю роли пользователя, чтобы загрузить его в пользовательском интерфейсе, как проверено ...
Примечание: этот HTML-код теперь доступен для всех пользователей только для его тестирования. Он будет доступен только для администратора после того, как я заставлю его работать. Поэтому я заметил, что этот код работает только для вошедшего в систему пользователя, а не для всех пользователей.
Мой код:
HTML:
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r1" checked="{{isRoleChecked 'r1'}}">r1</label>
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r2" checked="{{isRoleChecked 'r2'}}">r2</label>
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r3" checked="{{isRoleChecked 'r3'}}">r3</label>
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r4" checked="{{isRoleChecked 'r4'}}">r4</label>
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r5" checked="{{isRoleChecked 'r5'}}">r5</label>
<label class="checkbox-inline"><input type="checkbox" class="userRole" value="r6" checked="{{isRoleChecked 'r6'}}">r6</label>
isRoleChecked помощник: (код клиента)
isRoleChecked: function(value) {
// didn't work
roles = Roles.getRolesForUser(this._id);
if (roles) {
for(var i=0; i < roles.length; i++) {
,if (roles[i] == value){
return true;
} else {
return false;
}
}
}
},