ログアウト後のページ遷移できない件について
解決したいこと
・(deviseにて)ログアウト後に指定ページに遷移させたい
遷移指定先:トップページ(root 'top#index')
・ログアウト後にキャッシュも削除したい(できれば)
現状
deviseを使用し、ログイン機能を付けたのですが、
ログアウト後の遷移先を指定しても遷移されずに現在表示されたページのままになってしまいます(ログアウトはできています)。
また、キャッシュが残ってしまい、ログイン後のページ情報やブラウザバックした際にログイン後にしか見れないページやデータなどが残ってしまっています。
Railsバージョン
Rails7
View
application.html.erb
<%= link_to "ログアウト", destroy_user_session_path, data: { "turbo-method": :delete } %>
Sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
# DELETE /resource/sign_out
def destroy
log_out
redirect_to root_path
end
end
自分で試したこと
コントローラにログアウト後の遷移先を設定
application_controller.rb
before_action :authenticate_user!, only: [:/]
private
def after_sign_out_path_for(resource)
root_path # ログアウト後に遷移するpathを設定
end
検索で出てくる方法を試しましたが、ログアウトできても遷移できません。
恐らくRails7の「turbo」とかが関係しているんじゃないかとは思うのですが、現状調べても打開策がわかりません。
どなたかご教授していただけると幸いです。
0