2012-11-04 7 views
5

In un'app Rails, utilizzo Devise per gestire i miei utenti e il mio link per distruggere una sessione non funziona più. Funzionava, e ora ho aggiunto l'admin attivo, non lo è.Devise, impossibile disconnettersi

Il mio collegamento è

<%= link_to "Déconnexion", destroy_user_session_path, :method => :delete, :class => 'button' %> 

mio routes.rb

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"} 

miei percorsi rake

destroy_user_session DELETE /users/sign_out(.:format) 

Ed è tentare di aprire la vista/utenti/sign_out, quindi non ho :

ActiveRecord::RecordNotFound in UsersController#show 

Couldn't find User with id=sign_out 

Active_admin e Devise si bloccano insieme? Sarà strano perché l'uso attivo è concepito, no?

Edit:

Per la prossima persona che avrà questo problema, ho risolto aggiungendo la riga accanto al /config/initializers/devise.rb.

config.sign_out_via = :get 

Non proprio il modo migliore, ma fa il lavoro.

+1

Penso che hai risolto il problema molto bene sotto ActiveAdmin. –

+2

Ho risolto questo problema molto simile cambiando le inizializzazioni/active_admin.rb e impostando 'config.logout_link_method =: delete' –

risposta

0

Si prega di fare cambiamenti nella vostra routes.rb: - ​​

devise_scope :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"} do 
    get "https://stackoverflow.com/users/sign_out", :to => "devise/sessions#destroy" 
end 

Sono anche ottenendo lo stesso problema, solo che questa mi può risolvere dopo 1 ora e perdite di tempo.

Grazie.

2

Pubblicare il commento di Jeff Paquette come risposta.

Aggiornare il config/initializers/active_admin.rb con:

config.logout_link_method = :delete