LoginSignup
kuramon01
@kuramon01

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

ログアウト後のページ遷移できない件について

解決したいこと

・(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

No Answers yet.

Your answer might help someone💌