未初始化的常量 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
嗨,我是 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