2013-12-11 49 views
0

和設計,我做了重置密碼功能的測試,一切工作正常,只有一個問題檢查用戶是否存在密碼重置 - 設計。 Rails

如果我刪除一個用戶,他仍然可以要求他的密碼,電子郵件內的鏈接, dosent工作,但是,如何在發送電子郵件之前檢查用戶是否先存在,我只是使用它。

devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :validatable 

我也拉起了意見,但是,我該如何檢查這一點。

+0

你不需要明確地檢查它,devise會照顧它,如果在發送重置密碼令牌之前不存在電子郵件,它會拋出錯誤 –

回答

0

嘗試使用

的before_filter:的authenticate_user!

在應用程序控制器中,然後重試。

0

公共用戶仍然可以訪問「忘記密碼」頁面,仍然可以提供發送至的電子郵件。但是,該電子郵件必須存在於您的數據庫中,以便將reset_password_instructions電子郵件發送到該電子郵件。如果公共用戶對您的應用程序沒有帳戶,則不會發送該電子郵件。但是,如果公衆用戶猜到了正確的電子郵件,他需要找到一種方法來訪問該電子郵件。 :)

總之,你不需要檢查用戶是否存在。

+0

正如我所說,我測試,如果用戶被刪除,即使當他被刪除電子郵件發送到他的電子郵件,但鏈接不工作,因爲該帳戶不存在..我想避免發送該電子郵件..//與「我們無法找到該帳戶」meesage將是真棒 –