0
現在我正在嘗試對用戶進行身份驗證。這個過程起作用。現在,用戶的登錄名具有字段用戶名和密碼。如果用戶輸入正確的信息,它就可以工作。如果用戶輸入有效的用戶名和密碼不正確,則可以使用。如果用戶輸入無效的用戶名,則不起作用。這是我在會話控制器中創建的操作:當無效用戶發佈rails會話時
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
上述這些問題都沒有工作,沒有回重定向到根網址。
形式是一個登錄表單。該用戶正在管理員中創建。我只是想驗證它是一個用戶。問題在於如果在create action中的用戶類用戶中未找到用戶名,則變爲nil。考慮到這一點,我試圖說如果用戶是零,然後回到根網址。這部分不起作用。 – user2184718
'if user && user.password == params [:password]'???? –
就是這樣......謝謝 – user2184718