前提
deviseをつかって認証機能をつくっています。
ログインしている状態とログアウトしている状態を確かめたく、新規登録したあとに動的ヘッダーの確認をしたかったのですが、挙動がおかしいです。
調べても情報がないため初歩的なミスをしているのかもしれません。
今まで学習を始めて2回ほどdeviseの認証機能は実装したことがあるのですが、初めてこのようなかたちで挙動がおかしくなってしまったので、どこをなおせばいいのか見当がつかないです。
追記するべき内容を教えて下されば追記します。
実現したいこと
/users/sign_inとURLを直打ちした際に、↓のログイン画面に遷移したいです
発生している問題・エラーメッセージ
/users/sign_inと直打ちすると勝手に↓のようにトップ画面に遷移します
エラーメッセージはでないです。
Cloud9
1Started GET "/users/sign_in" for 115.36.161.203 at 2022-12-05 03:04:34 +0000 2Cannot render console from 115.36.161.203! Allowed networks: 127.0.0.0/127.255.255.255, ::1 3Processing by Devise::SessionsController#new as HTML 4 User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ? [["id", 1], ["LIMIT", 1]] 5Redirected to https://58147239c70445eca925e032d5d67f05.vfs.cloud9.ap-northeast-1.amazonaws.com/ 6Filter chain halted as :require_no_authentication rendered or redirected 7Completed 302 Found in 8ms (ActiveRecord: 0.1ms | Allocations: 1998) 8 9 10Started GET "/" for 115.36.161.203 at 2022-12-05 03:04:34 +0000 11Cannot render console from 115.36.161.203! Allowed networks: 127.0.0.0/127.255.255.255, ::1 12Processing by HomesController#top as HTML 13 Rendering layout layouts/application.html.erb 14 Rendering homes/top.html.erb within layouts/application 15 Rendered homes/top.html.erb within layouts/application (Duration: 0.1ms | Allocations: 40) 16[Webpacker] Everything's up-to-date. Nothing to do 17 User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ? [["id", 1], ["LIMIT", 1]] 18 ↳ app/views/layouts/application.html.erb:15 19 Rendered layout layouts/application.html.erb (Duration: 16.4ms | Allocations: 2766) 20Completed 200 OK in 20ms (Views: 19.2ms | ActiveRecord: 0.1ms | Allocations: 3208)
該当のソースコード
routes.rb
1Rails.application.routes.draw do 2 devise_for :users 3 root to: 'homes#top' 4 get 'home/about' => 'homes#about', as: 'about' 5 6 resources :books, only:[:index, :show, :edit, :create, :update, :destroy] 7 resources :users, only:[:index, :show, :edit, :create, :update, :destroy] 8 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 9end
application_controller
1class ApplicationController < ActionController::Base 2 before_action :configure_permitted_parameters, if: :devise_controller? 3 4 def after_sign_in_path_for(resource) 5 user_path(resource) 6 end 7 8 def after_sign_out_path_for(resource) 9 10 root_path 11 end 12 13 protected 14 15 def configure_permitted_parameters 16 devise_parameter_sanitizer.permit(:sign_up, keys: [:name]) 17 devise_parameter_sanitizer.permit(:sign_in, keys: [:name]) 18 end 19end 20
application.html.erb
1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Bookers3</title> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <%= csrf_meta_tags %> 7 <%= csp_meta_tag %> 8 9 <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 10 <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> 11 </head> 12 13 <body> 14 <header> 15 <% if user_signed_in? %> 16 <li> 17 <%= link_to "ログアウト", destroy_user_session_path, method: :delete %> 18 </li> 19 <% else %> 20 <li> 21 <%= link_to "新規登録", new_user_registration_path %> 22 </li> 23 <li> 24 <%= link_to "ログイン", new_user_session_path %> 25 </li> 26 <% end %> 27 </header> 28 <%= yield %> 29 </body> 30</html> 31
↓ rails routesでパスを確認
Cloud9
1ec2-user:~/environment/bookers3 (develop) $ rails routes 2 Prefix Verb URI Pattern Controller#Action 3 new_user_session GET /users/sign_in(.:format) devise/sessions#new 4 user_session POST /users/sign_in(.:format) devise/sessions#create 5 destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy 6 new_user_password GET /users/password/new(.:format) devise/passwords#new 7 edit_user_password GET /users/password/edit(.:format) devise/passwords#edit 8 user_password PATCH /users/password(.:format) devise/passwords#update 9 PUT /users/password(.:format) devise/passwords#update 10 POST /users/password(.:format) devise/passwords#create 11 cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel 12 new_user_registration GET /users/sign_up(.:format) devise/registrations#new 13 edit_user_registration GET /users/edit(.:format) devise/registrations#edit 14 user_registration PATCH /users(.:format) devise/registrations#update 15 PUT /users(.:format) devise/registrations#update 16 DELETE /users(.:format) devise/registrations#destroy 17 POST /users(.:format) devise/registrations#create 18 root GET / 19
補足情報(FW/ツールのバージョンなど)
Rails 6.1.4

回答2件
あなたの回答
tips
プレビュー