質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

383閲覧

rails 5 devise logout時の画面遷移ができない問題について

r.haja

総合スコア6

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/03/03 13:44

前提・実現したいこと

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した状態でその画面が表示される。

もし、気になる点等ございましたら、コメントください。
また、情報不足がありましたら併せてコメントいただければ幸いです。
お手数ですがよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問