学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Rails6.1 | No route matches [GET] "/logout"

↓↓クリックして頂けると励みになります。



Rails6.1でdeviceを構築する際、ログアウトのセッションルーティングで「No route matches [GET] "/logout"」のエラーが出ることがあります。
これはRailsのUJSの問題で、デフォルトの設定に[:get]パラメーターを追加する必要があります。

[No route matches [GET] "/logout"]
No route matches [GET] "/logout"



「config/initializers/devise.rb」ファイルの216行目の記述「config.sign_out_via = :delete」を以下のように変更します。

config.sign_out_via = [:get, :delete]



これでログアウトがエラー無しに動作します。


もしdeviceではなく、単にdeleteメソッド呼び出しによるエラーの場合、別の解決方法もありますので下記の記事を参考にしてください。
mrradiology.hatenablog.jp



↓↓クリックして頂けると励みになります。