无法登录会话(Rails)

时间:2020-08-22 00:33:02

标签: ruby-on-rails ruby

我在尝试登录Rails应用程序时遇到问题。我尝试登录,它将重定向回我的登录页面。我检查了我提供的密码,密码正确。它根本不会给我浏览器中的任何错误。我检查了控制台,得到了200个代码,这意味着它找到了页面。

这是我的控制器动作/路线

 get 'login',  to: 'sessions#new', as: 'login'
 post 'login', to: 'sessions#create'

这是我的会话控制器

class SessionsController < ApplicationController
    def new
    end
    
    
   def create
        user = User.find_by(username: params[:username])
        if user && user.authenticate(params[:password])
        #    log_in user
           sessions[:user_id] = user.id
           redirect_to user_path(user), notice: 'Logged in!'
        else
           flash.now[:danger] = 'Invalid email/password combination'
           render :new
        end
    end


    def destroy
        session.delete(:user_id)
        redirect_to '/', notice: 'Logged out!'
    end
    
end

这是我的登录表格。

<h1>Login</h1>
<%= form_tag '/login' do %>   
<div>   
    <%= label_tag :username %><br>   
    <%= text_field_tag :username %>   
</div>   
<div>   
    <%= label_tag :password %><br>   
    <%= password_field_tag :password %>   
</div>   
<div>   
    <%= submit_tag "Log In" %>   
</div>   
<% end %>  

有人能发现为什么重定向到我的登录页面吗?

1 个答案:

答案 0 :(得分:0)

您的示例具有

sessions[:user_id] = user.id

应该不是

session[:user_id] = user.id

session应该是单数

相关问题