開箱即用,devise gem會要求輸入用戶的電子郵件地址並使用它登錄(驗證)。如何配置設計接受電子郵件或用戶名登錄?
此railscast,"Customizing Devise",清楚地描述瞭如何用用戶名代替電子郵件進行身份驗證。如何配置設計來嘗試驗證兩個不同的列,用戶名或電子郵件?
開箱即用,devise gem會要求輸入用戶的電子郵件地址並使用它登錄(驗證)。如何配置設計接受電子郵件或用戶名登錄?
此railscast,"Customizing Devise",清楚地描述瞭如何用用戶名代替電子郵件進行身份驗證。如何配置設計來嘗試驗證兩個不同的列,用戶名或電子郵件?
您只需要定義方法find_for_database_authentication(conditions)。舉例來說,與monogid我這樣做:
def self.find_for_database_authentication(conditions)
self.where({ :login => conditions[:login] }).first || self.where({ :email => conditions[:login] }).first
end
啊,對不起,我沒有足夠的谷歌。有一個在色器件維基答案:"Log in using login or mail"
而且,這個問題已經被問這裏回答了計算器:"Sign in with username OR email"
有進一步blog discussioon使用的self.find_for_authentication方法是Rails的2.X兼容。