레일스에서 Bcrypt와 has_secure_password를 사용하여 기본 앱을 구축하고 있습니다.레일에서 사용자 세션을 종료 할 수 없습니다.
I는 사용자의 컨트롤러에서 다음 기본 방법을보기에 링크를 넣고함으로써, 사용자를 삭제하려고했다 :
def destroy
@user.destroy
redirect_to root_path(@user)
end
문제는이 세션을 종료하지 않고 사용자를 삭제하는 것이다 첫째, 그래서 지금은 오류 메시지가 읽습니다 루프에 갇혀있다 : 사용자가 삭제 되었기 때문에 'ID'= 5, 사용자를 찾을 수 없습니다.
kill -9 PID를 사용하여 터미널에서 사용자 세션을 종료하려고 시도했지만 의도 한 효과가 없습니다. ctrl-c와 같을뿐입니다.
터미널에서 사용자 세션을 종료 할 수있는 방법을 알고 싶습니다. 다시 발생해야하며 동시에 사용자와 사용자 세션을 동시에 삭제할 수있는 방법을 알고 싶습니다. 고마워요
추신. 이 작업을 수행 할 수 있습니다 파괴하는 방법에
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to new_comment_path, 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
먼저 당신이 세션에서 signout하고 그 후 사용자를 삭제해야합니다. 어떻게 세션을 만들고 있습니까? 방법을 제공하십시오. –
죄송합니다. 세션 컨트롤러를 포함 시키려고했습니다. - 여기가 지금은 – Robert
입니다. 사용자가'session [: user_id] = nil' 라인 아래 또는 그 이상을 파괴 할 수 있다고 생각합니다. –