0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Ruby on Rails] devise導入後にログアウトできなくなるエラー

Last updated at Posted at 2021-02-20

誰でも簡単にユーザー管理機能が作れるGemの
deviseを導入した後のエラーの解決方法を
備忘録として書き留めておきます。

  

本来ならログアウトする際にpathの記入と
methodの記入だけでログアウトできるはずが、
エラーが立ち塞がった。

いつもは下記の記述ででエラーなんか起きたことなかったのに...

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

  

エラー内容はスクショし忘れましたが、
翻訳に履歴が残っていました。

Could not find devise mapping for path "/users/sign_out". This may happen for two reasons: 1) You forgot to wrap your route inside the scope block. For example: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) You are testing a Devise controller bypassing the router. If so, you can explicitly tell Devise which mapping to use: @request.env["devise.mapping"] = Devise.mappings[:user]
パス「/ users / sign_out」のデバイスマッピングが見つかりませんでした。 これは2つの理由で発生する可能性があります:1)スコープブロック内にルートをラップするのを忘れた。 例:devise_scope:user do get "/ some / route" => "some_devise_controller" end 2)ルーターをバイパスするDeviseコントローラーをテストしています。 その場合、使用するマッピングをDeviseに明示的に指示できます。@ request.env ["devise.mapping"] = Devise.mappings [:user]

正直なんのこっちゃわかりません。(泣)

  
とりあえず、
##解決方法

config/initializers/devise.rb
config.sign_out_via = :get

大体269行目の記述。
ここは元々、deleteと書かれていたのを
getに直すことで、読み込みが上手く行くようになりました。

0
0
1

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?