4

我希望设计身份验证使用登录而不是电子邮件并跳过电子邮件验证,但保留密码验证。这个怎么做?

4

3 回答 3

4

要更改 devise 用于身份验证的模型属性,您需要查看 devise.rb 文件中的“任何身份验证机制的配置”部分。你至少需要改变

config.authentication_keys = [ :email ]

config.authentication_keys = [ :login ]

你可能想改变

config.case_insensitive_keys = [ :email ]

config.case_insensitive_keys = [ :login ]

您还应该查看 apneadiving 提供的链接,因为它解释了如何在一个模型中进行这些更改,而不是为所有模型更改它(这就是更改 devise.rb 所做的)。

要更改设计用于验证电子邮件的正则表达式,您可以将 config.email_regexp 属性更改为您想要的任何内容 - 例如“。*”将允许任何人使用 ANYTHING 作为登录名,所以我不建议这样做。

于 2012-09-08T23:16:40.693 回答
3

一切都在这里解释,特别是如何摆脱电子邮件(见底部)。

于 2012-09-08T23:10:59.573 回答
-1

正确答案在这里:http: //jessewolgamott.com/blog/2011/12/08/the-one-where-devise-validations-are-customized/

于 2012-09-08T23:29:16.867 回答