开箱即用,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兼容。