前提・実現したいこと
rails 5でdeviseを活用してlogout時の画面遷移を実現したと考えています。
(devout logout時のroot pathへの画面遷移)
初めての質問なので、至らない部分あるかとは思いますが、コメントいただければ幸いです。
Rails 5.2.4.1
Ruby 2.6.1p33
発生している問題・エラーメッセージ
【logoutボタンタイミング時のログ】
DELETE "/users/sign_out.1"を開始しました:: 1 at 2020-03-01 22:40:15 +0900 Processing by Devise :: SessionsController#destroy as Parameters:{"authenticity_token" => "FmvEthFqWobSbaZSyiNf6TDpVcduBs0k0s0k0s0k0s0k0sd0h0ss0k0sd0d0sn0sd0sn0ss0d0ss0d0sn0sss ユーザー負荷(0.2ms)SELECT "users"。* FROM "users" WHERE "users"。 "id" =?ORDER BY "users"。 "id" ASC LIMIT?[["id"、1]、["LIMIT"、1]] ↳vendor / bundle / ruby / 2.6.0 / gems / activerecord-5.2.4.1 / lib / active_record / log_subscriber.rb:98 (0.1ms)beginトランザクション ↳vendor / bundle / ruby / 2.6.0 / gems / activerecord-5.2.4.1 / lib / active_record / log_subscriber.rb:98 (0。 4msで204 No Contentを完了(ActiveRecord:0.3ms)
該当のソースコード
app / controllers / application_controller.rb
class ApplicationController < ActionController::Base def after_sign_in_path_for(resource) user_books_path(current_user) # ログイン後に遷移するpathを設定 end def after_sign_out_path_for(resource) root_path # ログアウト後に遷移するpathを設定 end end
config / routes.rb
Rails.application.routes.draw do devise_for :users root to: 'home#index' resources :users do resources :books end get "all_user" => "books#all_user" # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end
試したこと
http://31webcreation.hatenablog.com/entry/set-page-after-login-and-logout
(参照コードで添付しているapplication_controller.rbに記載している部分です。)
ただし、logoutは正常に実行できている。
・ブラウザを再読頻度した際にlogoutしたurl画面がloginしないといけない画面であれば、deviseのlogin画面へ遷移(deviseの仕様と認識しています。)
・loginしなくても良い画面の場合、logoutした状態でその画面が表示される。
もし、気になる点等ございましたら、コメントください。
また、情報不足がありましたら併せてコメントいただければ幸いです。
お手数ですがよろしくお願いいたします。
あなたの回答
tips
プレビュー