我遇到了不應該顯示的通知問題。當我點擊我應用中的鏈接登錄時,即使我沒有輸入任何內容,它也會閃爍「無效的用戶名/密碼組合」通知。我明白爲什麼我會收到此消息 - 這是因爲當我點擊鏈接時,我沒有輸入一個匹配的用戶名和密碼,所以錯誤觸發。但我不知道如何解決這個問題。我希望當用戶確實鍵入錯誤的組合時出現錯誤,但在頁面首次出現時不會顯示。Rails - 當點擊登錄鏈接時頁面上出現不正確的用戶名/密碼通知
在代碼中,「用戶」是指管理員,而客戶是客戶。我爲兩種類型的人使用相同的登錄頁面。
另外,我真正喜歡的是,當用戶鍵入錯誤的組合時,他們的電子郵件地址將留在該字段中,以便他們不必再次輸入。我會如何去做這件事?
謝謝!
下面是更新控制器代碼:
class SessionsController < ApplicationController
skip_before_filter :authorize
def new
end
def create
user = User.find_by_email(params[:email])
customer = Customer.find_by_email(params[:email])
if user and user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to admin_url
elsif customer and customer.authenticate(params[:password])
session[:customer_id] = customer.id
redirect_to customer_path(session[:customer_id])
else
render :new, notice: "Invalid email/password combination"
end
end
def destroy
session[:user_id] = nil
session[:customer_id] = nil
redirect_to store_url, notice: "Logged out"
end
end
這不會在頁面上創建一個閃光燈 - 我試着用redirect_to和渲染,並且都有相同的結果 - 任何想法是什麼造成的?謝謝! – ecs