Credo che tu abbia bisogno di un metodo di guardia per verificare se un utente è autorizzato a eseguire una determinata azione. Ad esempio, can_upgrade_server?
Inoltre, una volta fatto ciò, puoi utilizzare il metodo guardian.ensure_can_upgrade_server! che verifica la condizione e solleva un’eccezione, il che, a mio avviso, è esattamente ciò che desideri.