Я новичок, и я делаю Rails Tuturial https://www.learnenough.com/ruby-on-rails-6th-edition-tutorial/basic_login#sec -finding_and_authenticating_a_user>
Последний урок я create
новый user
, и я проверяю в rails``console
, используя booleans
, чтобы доказать, соответствуют ли пользователи email
и password
сеансу login
.
Это мой код в файле session
controller
:
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
else
render 'new'
end
end
def destroy
end
end
И для проверки в консоли rails:
user = User.first
=> Идентификатор пользователя: 1, имя: "Учебное пособие по Rails", электронная почта: "example@railstutorial.org", create_at: "2020-02-13 01:04:12", updated_at: "2020-02-13 01:04:12", password_digest: [FILTERED]
!! (user && user .authenticate ('railst1234'))
=> false
Здесь возникает вопрос, почему возвращается FALSE, если адрес электронной почты и пароль содержат информацию. предположим, что прав?