前提・実現したいこと
「has_secure_password」と「devise」を使うとほかの問題が発生してしまうのでその2つは使いません。
Ruby on Railsでログイン機能を実装することが実現したいことです。
発生している問題
ログインボタンを押すと「ログイン失敗:メールアドレスまたはパスワードもしくはその両方が間違っています」というログイン失敗フラッシュメッセージが表示される。
エラーメッセージ
ログイン失敗:メールアドレスまたはパスワードもしくはその両方が間違っています
(フラッシュメッセージです。)
該当のソースコード
app/controllers/session_controller.rb
class SessionController < ApplicationController def new end def create @user = User.find_by(email: params[:email], password: params[:password]) if @user flash[:notice] = "ログインしました" redirect_to("/") else flash[:alert] = "ログイン失敗:メールアドレスまたはパスワードもしくはその両方が間違っています" render action: :new end end end
app/views/session/new.html.erb
<h2>ログイン</h2> <%= form_for :@user,:url => {controller: "session", action: "create" } do |f| %> <%= f.email_field :email, autofocus: true, autocomplete: "email" %> <%= f.password_field :password, autocomplete: "current-password" %> <%= f.submit "ログイン!" %> <% end %>
補足情報
Windows 10 home 64ビット
ruby 2.6.6
Ruby on rails 6.0.3.1
PostgreSQL 12.3
テキストエディタ Atom
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/09 07:42