现在我正在尝试对用户进行身份验证。这个过程有效。现在,用户的登录名具有字段用户名和密码。如果用户键入正确的信息,则可以正常工作。如果用户键入有效的用户名和错误的密码,则可以使用。如果用户键入无效的用户名,则无效。这是我在会话控制器中的创建操作:
def create
user = User.find_by_username(params[:username])
redirect_to root_url if user == nil
if user.password == params[:password]
session[:user_id] = user.id
redirect_to user_path(user.id), notice: "Logged in!"
else
flash.now.alert = "not logged in"
redirect_to root_url
end
end
我得到的错误是用户没有方法密码。我知道这一点并加入
行redirect_to root_url if user == nil
我也有线
redirect_to root_url unless user.password
这两个都无法正常工作,也没有重定向回根网址。
答案 0 :(得分:0)
这应该这样做
if user && user.password == params[:password]