authentication - 未初始化常量 SessionsController ROR 导轨 4

标签 authentication ruby-on-rails-4 routes

嗨,我是 Ruby on Rails 的初学者。我正在尝试一些实验。我正在尝试实现用户登录。我没有使用任何 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

关于authentication - 未初始化常量 SessionsController ROR 导轨 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31299649/

相关文章:

authentication - 持久性 "Remember Me"Cookie 的竞争条件

javascript - ReactJS - 用什么代替 JWT 来保持 session

ruby-on-rails - 错误 : undefined local variable or method `resource_class' when installing omniauth-twitter

java - 如何识别http重定向

postgresql - UndefinedFunction : ERROR: function st_distance(geography, 几何、数字)不存在

ruby-on-rails - 上传文件参数未通过 Controller

ruby-on-rails - Rails Route Helper中的插值

ruby-on-rails - 如何显示谁访问了您的个人资料?

linux - 转发连接到另一个?

ruby-on-rails - 如何覆盖 spree 用户api