2013-07-30 2 views
5

Ci scusiamo per una domanda stupida, ma quali sono esattamente gli ambiti in esame? Il problema che ho riscontrato è che voglio aggiungere il metodo sign_out al mio controller, e non posso farlo perché config.sign_out_all_scopes è impostato su true, quindi cambiarlo in false potrebbe aiutare, ma non capisco cosa questo la configurazione lo fa davvero. Sembra che sia vero che firmerà tutto: amministratori o tutti: gli utenti ne firmano uno, ma non ha senso per me. "Scope" è in realtà un utente? Cosa cambierà esattamente se cambi questa opzione? Grazie mille in anticipo.Quali sono gli ambiti in esame?

risposta

4

Devise consente di separare i propri utenti in "ambiti" diversi come "admin" e "membro"; l'effetto di ciò è che si ottiene un insieme di route, controller e viste per ciascun ambito.

Un utente può appartenere a più ambiti e accedere a tutti/tutti in qualsiasi momento, quindi quando l'opzione sign_out_all_scopes è impostata su true, l'uscita come qualsiasi ambito consentirà di disconnettere tutti gli utenti che hanno eseguito l'accesso.

Per quanto riguarda la tua domanda specifica: perché stai definendo il tuo metodo di disconnessione? Devise ne fornisce uno per te. Se si desidera modificare il metodo di disconnessione, assicurarsi di seguire the instructions per estendere correttamente i controller di elaborazione.

+0

Quello che ho voluto fare è aggiungere qualcosa da aggiungere un metodo sign_out alla mia funzione di controllo, in grado di uscire una persona prima di un redirect, ma usando il default sign_out: user # sign_out (campo di applicazione) sign_out @user # sign_out (risorsa) termina con "numero errato di argomenti" –