前提・実現したいこと
ログイン機能を実装したいのですが、メールアドレスとパスワードを入力してもログインできず弾かれてしまいます。
アドバイスをいただきたいです。
発生している問題・エラーメッセージ
ログインができない
new.html.erb
<div class="container"> <h1>ログイン</h1> <%= @text %> <%= @user %> <%= form_with scope: :session, local: true do | f |%> <div class="form-group"> <%= f.label :email, 'メールアドレス' %> <%= f.text_field :email, class: 'form-control', id: 'session_email' %> </div> <div class="form-group"> <%= f.label :password, 'パスワード' %> <%= f.password_field :password, class: 'form-control', id: 'session_password' %> </div> <%= f.submit '登録する', class: 'btn btn-primary'%> <% end %> </div>
sessions_controller.rb
class SessionsController < ApplicationController skip_before_action :login_required def new end def create user = User.find_by(email: session_params[:email]) if user&.authenticate(session_params[:password]) session[:user_id] = user.id redirect_to posts_path, notice: 'ログインしました' else @text = 'ログインできません' render :new end end def destroy reset_session redirect_to root_url, notice: 'ログアウトしました。' end private def session_params params.require(:session).permit(:emali, :password) end end
###routes.rb
Rails.application.routes.draw do get '/login', to: 'sessions#new' post '/login', to: 'sessions#create' delete '/logout', to: 'sessions#destroy' root to: 'home#top' resources :users resources :posts end
試したこと
条件分岐で失敗した際に@textにメッセージを入れ表示されるか試したところ画面上に表示されたので、controllerのcreate処理までは通っていると思いますが真の条件を通らないためと思っています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/06 02:05
2019/09/06 02:11
2019/09/06 02:27
2019/09/06 02:33
2019/09/06 02:35