Ruby on rails Can';我似乎没有登录

Ruby on rails Can';我似乎没有登录,ruby-on-rails,login,Ruby On Rails,Login,我花了几个小时试图理解会话,但似乎无法登录。我希望有人能告诉我我做错了什么 应用程序控制器 会话控制器 如果需要其他代码,请告诉我。另外,如果您知道一个更好的约定,以便为我的用户添加登录,我愿意学习不同的方法。感谢大家帮助我们理解这个问题 您可以公开用户模型吗?对于身份验证,您可以使用Desive或clearancegem@uzaif谢谢你的回复。我的用户模型当前为空。我只有一个密码。虽然Desive会更简单更快,但我想学习/理解如何从头开始创建登录。您能帮我调试您编写的代码吗?将此params

我花了几个小时试图理解会话,但似乎无法登录。我希望有人能告诉我我做错了什么

应用程序控制器

会话控制器


如果需要其他代码,请告诉我。另外,如果您知道一个更好的约定,以便为我的用户添加登录,我愿意学习不同的方法。感谢大家帮助我们理解这个问题

您可以公开用户模型吗?对于身份验证,您可以使用Desive或clearancegem@uzaif谢谢你的回复。我的用户模型当前为空。我只有一个密码。虽然Desive会更简单更快,但我想学习/理解如何从头开始创建登录。您能帮我调试您编写的代码吗?将此
params[:email]
更新为
params[:session][:email]
这可能会解决您的问题
protect_from_forgery with: :exception
helper_method :current_user

def current_user
 @current_user ||= User.find(session[:user_id]) if session[:user_id]
end

def authorize
 redirect_to '/' unless current_user
end
class SessionsController < ApplicationController
 def new
 end

 def create
  @user = User.where(email: params[:email]).first
  if @user && @user.authenticate(params[:session][:password])
   session[:user_id] = user.id
   redirect_to '/'
  else
   redirect_to '/sessions/new'
  end
 end

 def destroy
  session[:user_id] = nil
  redirect_to '/'
 end
end
class UsersController < ApplicationController
 before_action :find_user, only: [:show, :edit, :update, :destroy]

 def index
  @user = User.all
 end

 def new
  @user = User.new
 end

 def create
  @user = User.new(user_params)
  if @user.save!
   redirect_to '/'
  else
   render 'new'
  end
 end

 def show
 end

 def edit
 end

 def update
  if @user.update
   redirect_to '/'
  else
   render 'edit'
  end
 end

 def destroy
  @user.destroy
  redirect_to '/'
 end

 private
  def find_user
   @user = User.find(params[:id])
  end

  def user_params
   params.require(:user).permit(:email, :username, :password, :about_me)
 end
end
<%= form_tag('/sessions', method: "POST") do %>
 Email: <%= email_field_tag :email %>
 Password: <%= password_field_tag :password %>
 <%= submit_tag 'Submit' %>
<% end %>
root 'users#index'

resources :sessions, only: [:new, :create, :destroy]
resources :users