0
1

More than 3 years have passed since last update.

deviseで記述があっているのに、ログアウトできない現象

Posted at

はじめに

 deviseを導入してユーザー管理機能を実装していたが、予期せぬエラーに見舞わせたので、記録しておく。

エラー内容

Routing Error
No route matches [GET] "/users/sign_out"

<%= link_to 'ログアウト', destroy_user_session_path, method: :delete, class: :logout %>

もちろん、method: :deleteとビューファイルにも記述していた。なぜか、ルーティングでHTTPメソッドがGETのものを探し出していた。

ローカルサーバーを再起動させる

ターミナルで
「control + c」
入力。
再び、ターミナルで「rails s」実行

荒技!?

config/initializers/devise.rb/269行目
config.sign_out_via = :delete

:delete:getに変える。

最後に

 記述もあっているのに、なぜこのエラーが出たのか、いまだにわからない…。全く同じ記述でも、エラーが出る時と出ない時がある。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1