2014-12-01 301 views
0

我无法登录用户并清除用户的会话。我不断收到以下错误在我的rails服务器的终端窗口:注销重定向错误

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

ActionController::RoutingError (uninitialized constant SessoinsController): 

这里是会话控制器:

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 

这里是会议助手: 模块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 2014-12-01 22:27:00

+1

我已经想通了。感谢您为我指出这一点! – Mukul215 2014-12-01 22:32:49

回答

1

你可以从你的路由

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

会议拼写错误

只要确保这条线是正确的,请参阅:

delete 'logout' => 'sessions#destroy'