Я пытаюсь настроить простую аутентификацию для моего приложения rails. У меня есть каркас security_users, и я создал несколько пользователей.
Когда я пытаюсь войти в систему, используя некоторые из этих учетных записей, мне кажется, что метод «find_by_*» не может обнаружить текущую.
Вот как выглядит мой контроллер сеанса (я прокомментировал проверку пароля, чтобы отладить проблему):
class SessionsController < ApplicationController
def new
end
def create
@security_user = SecurityUser.find_by_email(params[:email])
if @security_user #&& @security_user.authenticate(params[:password])
session[:security_user_id] = @security_user.id
redirect_to root_url, notice: "Logged in!"
else
flash.now.alert = "Email or password is invalid"
render 'new'
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, notice: "Logged out!"
end
end
Итак, когда я пытаюсь создать сеанс (для входа в систему), я перенаправляюсь на «новый» шаблон сеанса. Это отладочная информация:
что вроде бы все в порядке. Почему следующий оператор не смог найти запись:
SecurityUser.find_by_email(params[:email])
РЕДАКТИРОВАТЬ:
Когда я ввел строку выше в консоли, она возвращает запись: