2

开箱即用,设计gem 会询问用户的电子邮件地址并使用它来登录(验证)。

这个 railscast,“定制设计”,清楚地描述了如何使用用户名代替电子邮件进行身份验证。如何配置设计以尝试针对两个不同的列(用户名或电子邮件)进行身份验证?

4

2 回答 2

3

您只需要定义方法 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
于 2010-09-09T06:59:07.397 回答
0

啊,对不起,我没有充分谷歌。在设计维基上有一个答案:“使用登录名或邮件登录”

此外,此问题已在此处的 stackoverflow 上提出并回答:“使用用户名或电子邮件登录”

还有一个博客讨论使用了与 Rails 2.x 兼容的 self.find_for_authentication 方法。

于 2010-09-10T20:08:49.360 回答