2011-09-11 5 views
19

Sono relativamente nuovo alle guide. . Ho Devise istituito, e voglio eseguire del codice di richiamata dopo che gli utenti firmano inDove devono essere inserite le chiamate di richiamata in un'app per rails?

Guardando il Warden wiki page, posso usare il callback "after_set_user" per eseguire questa logica, per esempio:

Warden::Manager.after_set_user do |user, auth, opts| 
    unless user.active? 
    auth.logout 
    throw(:warden, :message => "User not active") 
    end 
end 

Tuttavia, non sono sicuro di dove stia immagazzinando questa roba. Il mio primo pensiero è che potrei metterlo in config/initializers/devise.rb. È corretto? Non sembra giusto mettere quello che è essenzialmente il codice del controller nella directory di configurazione.

+0

Sembra un filtro, "after_set_user", cioè, la mia ipotesi è un controller. – Bnjmn

+0

In realtà ho trovato una sezione in initializers/devise.rb chiamata "Warden configuration", quindi immagino che sia il posto giusto per dirla. –

+0

Hai trovato dove mettere questo codice? O l'hai adattato allo stile del codice dell'inizializzatore di Devise in qualche modo? – dgilperez

risposta