2014-12-01 4 views
0

사용자를 로그 아웃하고 사용자 세션을 지우는 데 문제가 있습니다. 내 레일 서버 터미널 창에서 다음과 같은 오류가 계속 :로그 아웃 리디렉션 오류

여기
class SessionsController < ApplicationController 
    # SESSIONS ARE NOT AN ACTIVE RECORD MODEL 

    def new 
    end 

    def create 
     user = User.find_by(email: params[:session][:email].downcase) 
     if user && user.authenticate(params[:session][:password]) 
     log_in user 
     redirect_to user 
     else 
     # flash.now is used so when going to homepage the danger 
     # message is not there anymore 
     # designed for displaying flash on rendered pages 
     flash.now[:danger] = "Invalid email/password combination" 
     render 'new' 
     end 
    end 

    # logs out the current user, check session_helper for details 
    def destroy 
     log_out 
     redirect_to root_url, notice: "You have successfully logged out." 
    end 

    end 

이 세션 도우미 : 여기

Started DELETE "/logout" for ::1 at 2014-12-01 17:17:47 -0500 

ActionController::RoutingError (uninitialized constant SessoinsController): 

세션에 대한 컨트롤러 모듈 SessionsHelper

# logs in the given user 
    def log_in(user) 
    session[:user_id] = user.id 
    end 

    # returns the current logged-in user (if any) 
    def current_user 
    @current_user ||= User.find_by(id: session[:user_id]) 
    end 

    # returns true if the user is logged in, false otherwise 
    def logged_in? 
    !current_user.nil? 
    end 

    # logs out the current user 
    def log_out 
    session.delete(:user_id) 
    @current_user = nil 
    end 

end 

여기 내 경로입니다.

get 'users/new' 
# These routes are from the static_pages controller 
root    'static_pages#home' 
get 'help'  => 'static_pages#help' 
get 'about'  => 'static_pages#about' 
get 'contact' => 'static_pages#contact' 
get 'signup' => 'users#new' 
get 'login'  => 'sessions#new' 
post 'login' => 'sessions#create' 
delete 'logout' => 'sessoins#destroy' 
resources :users 

누군가 도움을 줄 수 있습니까? 미리 감사드립니다.

+0

'초기화되지 않은 상수 SessoinsController'? 'SessoinsController'를 찾고 있지만 컨트롤러 클래스는'SessionsController'입니다. 당신의 노선을 보게하십시오 – JTG

+1

나는 그것을 알아 냈습니다. 나를 가리켜 주셔서 감사합니다! – Mukul215

답변

1

당신이 당신의 경로

logout DELETE /logout(.:format)   sessoins#destroy 

그냥이 라인이 올바른지 확인 잘못된 철자가 세션에서 볼 수 있듯이 :

delete 'logout' => 'sessions#destroy'