2012-11-04 18 views
5

लॉग इन नहीं कर सकता एक रेल ऐप में, मैं अपने उपयोगकर्ताओं को प्रबंधित करने के लिए तैयार हूं और सत्र को नष्ट करने के लिए मेरे लिंक का काम नहीं करता हूं। यह काम कर रहा था, और अब मैंने सक्रिय व्यवस्थापक जोड़ दिया है, यह नहीं है।डेविस,

मेरे लिंक

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

है मेरी routes.rb

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

मेरे रेक मार्गों

destroy_user_session DELETE /users/sign_out(.:format) 

और यह देखें/उपयोगकर्ताओं/sign_out को खोलने का प्रयास है, तो मेरे पास है :

ActiveRecord::RecordNotFound in UsersController#show 

Couldn't find User with id=sign_out 

क्या Active_admin और Devise एक साथ दुर्घटनाग्रस्त है? यह अजीब 'कारण सक्रिय उपयोग तैयार करेगा, नहीं?

संपादित करें:

अगले व्यक्ति जो इस मुद्दे को होगा के लिए, मैं यह /config/initializers/devise.rb के बगल में पंक्ति जोड़कर हल किया।

config.sign_out_via = :get 

बिल्कुल बेहतरीन तरीका नहीं है, लेकिन यह काम करता है।

+1

मुझे लगता है कि आप ActiveAdmin के तहत समस्या को हल किया है बहुत अच्छी तरह से। –

+2

मैंने शुरुआतीकरण/active_admin.rb को बदलकर और config.logout_link_method =: delete को बदलकर इस तरह के एक ही मुद्दे को हल किया –

उत्तर

0

अपने routes.rb में परिवर्तन कृपया सुनिश्चित: -

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

मैं भी एक ही समस्या हो रही है, केवल यह मेरे 1 ghante समय बर्बाद कर के बाद हल कर सकते हैं।

धन्यवाद।

2

जेफ पेक्वेट की टिप्पणी को उत्तर के रूप में पोस्ट करना।

अद्यतन के साथ config/initializers/active_admin.rb:

config.logout_link_method = :delete