我在尝试登录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 %>
有人能发现为什么重定向到我的登录页面吗?
答案 0 :(得分:0)
您的示例具有
sessions[:user_id] = user.id
应该不是
session[:user_id] = user.id
session
应该是单数