내 레일 응용 프로그램에 간단한 인증을 설정하려고합니다. security_users 발판을 가지고 있으며 일부 사용자를 만들었습니다.find_by_ * 메서드가 객체를 반환하지 않습니다.
이러한 계정 중 일부를 사용하여 로그인하려고 할 때 "find_by_ *"메서드가 현재 계정을 검색 할 수 없다는 것을 예고합니다.
이 내 세션 컨트롤러처럼 보이는 방법 (I 문제 디버깅하기 위해 목적에서 암호 체크 주석이)입니다 : 나는 세션을 만들려고 할 때
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 [: 이메일]) 다음 문은 기록을 찾을 수 없습니다 왜
편집 : 콘솔에서이 반환 위의 라인을 입력
기록 :
오류가 발생 했습니까? – Rinku
@Rinku 오류가 발생하지 않았습니다. 도우미 (find_by_email)가 사용자를 찾을 수 없으며 이로 인해 세션을 만들 수 없습니다. – gotqn
hils는 레일 콘솔로 그것을 확인 했습니까? 그것을 얻을 수 있습니까? – Rinku