да, я уже говорил выше, что я использую пакет 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;
      }
    }
  }
},

Ответы на вопрос(2)

Ваш ответ на вопрос