Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 未初始化的常量SessionController ROR rails 4_Authentication_Ruby On Rails 4_Routes - Fatal编程技术网

Authentication 未初始化的常量SessionController ROR rails 4

Authentication 未初始化的常量SessionController ROR rails 4,authentication,ruby-on-rails-4,routes,Authentication,Ruby On Rails 4,Routes,嗨,我是RubyonRails的初学者。我正在做一些实验。我正在尝试实现用户登录。我没有使用任何宝石。我尝试了以下方法: 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 => "

嗨,我是RubyonRails的初学者。我正在做一些实验。我正在尝试实现用户登录。我没有使用任何宝石。我尝试了以下方法:

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

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

您有
SessionController
而不是
SessionController
。将其更改为
sessioncontroller
,或按如下所示编辑您的
路线

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
更改为
SessionController

IMP注释:

SessionController
更改为
SessionController
时,不要忘记将文件名更改为
sessions\u controller.rb

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