Как настроить пользовательские права для персонала, администраторов и модераторов

Короткое замечание:

При реализации механизмов контроля доступа, как правило, проверки RBAC должны выполняться на стороне сервера.

Код RBAC в клиентском JavaScript может быть изменен клиентом.

Это означает, что при определении основных разрешений RBAC для сотрудников, администраторов и модераторов это следует делать (в общем случае) в Rails, а не в JavaScript.

Кстати, именно так Discourse теперь реализует RBAC, используя то, что в Discourse называют «guardian» — класс Ruby под названием class Guardian, вот здесь:

Если разработчик планирует добавлять проверки RBAC в JavaScript-код, вызывая API Discourse, имейте в виду, что такой код может быть скомпрометирован, поскольку код, выполняющийся в браузере, может быть изменен.

Моя рекомендация — убедиться, что весь основной код RBAC выполняется на стороне сервера, и не пытаться обходить это правило с помощью клиентского JavaScript.