我正在尝试为我的Rails应用程序编写一个登录系统,但出现会话错误。对于更多上下文,我没有用户类,但是有我的登录方法的EmployeeAuthentication和Employee类。
当前,这是我的sessions_controller.rb
class SessionsController < ApplicationController
def new
end
def create
user = User.authenticate(params[:username], params[:password])
if user
session[:user_id] = user.id
redirect_to home_path, notice: "Logged in!"
else
flash.now.alert = "Username and/or password is invalid"
render "new"
end
end
def destroy
session[:user_id] = nil
redirect_to home_path, notice: "Logged out!"
end
end
这是我的路线文件:
Rails.application.routes.draw do
# Semi-static page routes
get 'home', to: 'home#index', as: :home
get 'home/about', to: 'home#about', as: :about
get 'home/contact', to: 'home#contact', as: :contact
get 'home/privacy', to: 'home#privacy', as: :privacy
get 'home/search', to: 'home#search', as: :search
# Resource routes (maps HTTP verbs to controller actions automatically):
resources :employees
resources :stores
resources :assignments
resources :users
resources :sessions
# Custom routes
patch 'assignments/:id/terminate', to: 'assignments#terminate', as: :terminate_assignment
# You can have the root of your site routed with 'root'
root 'home#index'
get 'user/edit' => 'users#edit', :as => :edit_current_user
get 'signup' => 'users#new', :as => :signup
get 'login' => 'sessions#new', :as => :login
get 'logout' => 'sessions#destroy', :as => :logout
end