はじめに
ログアウトを実行するとルーティングエラーが発生したのでアウトプット
環境
Rails 5.0.7.2
ruby 2.5.1
devise
問題点
deviseのアカウント編集機能を実装し、ログアウトをリクエストすると、
**No route matches [GET] "/users/sign_out”**とエラー発生
原因
sign_out時のメソッドがDELETEからGETに変更されているので(いつなったのかは把握できていない)、変更すれば解決しそう。
対処方法
config/initializers/devise.rbを編集▼
devise.rb
#省略
config.sign_out_via = :delete
#省略
上記の記述をgetに変更▼
devise.rb
#省略
config.sign_out_via = :get
#省略
サーバーを再起動して、rake routesをターミナルにて実行すると▼
destroy_user_session GET /users/sign_out(.:format) devise/sessions#destroy
getメソッドに変化しているので再度ログアウトを実行すると想定通りの動作をするはず!
参考にしてください!