現在Ruby on Railsでログイン機能を作成しています。
Sessionを使用し、ログインのview、controllerを一通り実装したのですが正常に機能しません。具体的には、ログインボタンを押しても画面遷移せず、flashメッセージも出ない状態です。
View
<div class="text-center"> <h2 class="font-weight-bold">ログイン</h2> </div> <%= form_with url: login_path, local: true do |f| %> <div class="row mb-3"> <div class="col-3 text-center"><%= f.label :name, "ユーザー名" %></div> <div class="col-9"><%= f.text_field :name, class: "form-control" %></div> </div> <div class="row mb-3"> <div class="col-3 text-center"><%= f.label :password, "パスワード" %></div> <div class="col-9"><%= f.password_field :password, class: "form-control" %></div> </div> <%= f.submit "ログイン", class: "offset-4 col-4 offset-4 btn btn-primary form-control" %> <% end %>
Controller
class SessionsController < ApplicationController def new end def create user = User.find_by(name: session_params[:name]) if user&.authenticate(session_params[:password]) session[:user_id] = user.id flash[:info] = 'ログインしました' redirect_to root_path else flash[:warning] = 'ログインできませんでした' render :new end end def destroy reset_session flash[:danger] = 'ログアウトしました' redirect_to root_path end private def session_params params.require(:session).permit(:name, :password) end end
routes
Rails.application.routes.draw do root to: 'tasks#index' get '/login', to: 'sessions#new' post '/login', to: 'sessions#create' delete '/logout', to: 'sessions#destroy' resources :users resources :tasks end
・ログインする際に入力したユーザー名・パスワードは正しいものを入力しました(何十回と試したので、タイプミスもないと思います)
・binding.pryでcontrollerのcreate内でデバックした結果、パラメーターに入力値は渡っていると確認できました
Started POST "/login" for xxx.xx.x.x at 2020-08-11 20:57:12 +0900 Cannot render console from xxx.xx.x.x! Allowed networks: xxx.x.x.x, ::x, xxx.x.x.x/xxx.xxx.xxx.xxx Processing by SessionsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"n0/NBRNVyp+SpwxThBqpNoY1s5X0rauHPXRhP0Rw4WIri4A4r6wlCSIDaIn3QhCVjXnETO5Yl0nyclfYItXTWA==", "session"=>{"name"=>"最初のユーザー", "password"=>"[FILTERED]"}, "commit"=>"ログイン"} No template found for SessionsController#create, rendering head :no_content Completed 204 No Content in 791ms (ActiveRecord: 0.0ms)
原因が分からず四苦八苦しています。ご教授頂ければ幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。