Я пытаюсь написать систему входа в систему для моего приложения на Rails, но получаю ошибку сессий. Для большего контекста у меня нет пользовательского класса, но есть класс EmployeeAuthentication и Employee, в котором есть мои методы входа.
В настоящее время здесь находится мой session_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