Apenas uma breve observação:
Ao lidar com questões de controle de acesso, em geral, essas verificações de RBAC devem ser realizadas no lado do servidor.
O código de RBAC em Javascript do lado do cliente pode ser manipulado pelo cliente.
Isso significa que, ao definir permissões básicas de RBAC para equipe, administradores e moderadores, isso deve ser feito (de modo geral) no Rails, e não no Javascript.
Aliás, é assim que o Discourse realiza o RBAC atualmente, usando o que o Discourse chama de “guardian”, uma classe Ruby chamada class Guardian, aqui:
Se um desenvolvedor for adicionar verificações de RBAC no código Javascript chamando a API do Discourse, lembre-se de que esse código pode ser comprometido, pois o código executado no navegador pode ser manipulado.
Minha recomendação é garantir que todo o código básico de RBAC seja executado no lado do servidor e não tente contornar isso no Javascript do lado do cliente.