Solo una breve nota:
Quando si gestiscono questioni relative al controllo degli accessi, in generale, questi controlli RBAC dovrebbero essere eseguiti lato server.
Il codice RBAC in Javascript lato client può essere manipolato dal client.
Ciò significa che, quando si definiscono le autorizzazioni RBAC fondamentali per il personale, gli amministratori e i moderatori, questo dovrebbe essere fatto (in linea di massima) in Rails, non in Javascript.
A proposito, è così che Discourse gestisce ora l’RBAC, utilizzando quello che Discourse chiama “guardian”, una classe Ruby chiamata class Guardian, qui:
Se uno sviluppatore intende aggiungere controlli RBAC nel codice Javascript chiamando l’API di Discourse, tenga presente che questo codice può essere compromesso perché il codice eseguito nel browser può essere manipolato.
Il mio consiglio è di assicurarsi che tutto il codice RBAC fondamentale venga eseguito lato server e di non cercare di accorciare il percorso tramite Javascript lato client.