未初始化的常量 SessionsController ROR rails 4

uninitialized constant SessionsController ROR rails 4

嗨,我是 rails 上 Ruby 的初学者。我正在尝试一些实验。我正在尝试实现用户登录。我没有使用任何 gem。我尝试了以下方式:

get "log_out" => "sessions#destroy", :as => "log_out"
  get "log_in" => "sessions#new", :as => "log_in"
  get "sign_up" => "users#new", :as => "sign_up"
  root :to => "users#new"
  resources :users
  resources :sessions

class SessionController < ApplicationController
  def new
  end

   def create
    user = User.authenticate(params[:email], params[:password])
    if user
      session[:user_id] = user.id
      redirect_to root_url, :notice => "Logged in!"
    else
      flash.now.alert = "Invalid email or password"
      render "new"
    end
  end

   def destroy
    session[:user_id] = nil
    redirect_to root_url, :notice => "Logged out!"
  end

end

当我尝试点击 http://localhost:3000/log_in 时,它显示

uninitialized constant SessionsController
routing error

我做错了什么吗?需要一些帮助。谢谢。

你有 SessionController 而不是 SessionsController。将其更改为 SessionsController 或如下编辑 routes

get "log_out" => "session#destroy", :as => "log_out"
get "log_in" => "session#new", :as => "log_in"
get "sign_up" => "users#new", :as => "sign_up"
root :to => "users#new"
resources :users
resource :session

我建议将 SessionController 更改为 SessionsController

IMP 注:

在将 SessionController 更改为 SessionsController 时,不要忘记将 文件名 更改为 sessions_controller.rb