6

Rails アプリでは、devise を使用してユーザーを管理していますが、セッションを破棄するためのリンクが機能しなくなりました。それは機能していましたが、アクティブな管理者を追加しましたが、機能しません。

私のリンクは

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

私のルート.rb

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

私のレーキルート

destroy_user_session DELETE /users/sign_out(.:format)

ビュー /users/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

正確には最善の方法ではありませんが、それは仕事をします。

4

2 に答える 2

3

Jeff Paquette のコメントを回答として投稿します。

を次のように更新config/initializers/active_admin.rbします。

config.logout_link_method = :delete
于 2016-04-26T10:33:30.190 に答える