配置authlogic以"用户名"或"电子邮件"登录

Mad*_*han 1 ruby-on-rails authlogic

我为我的身份验证系统实现了authlogic.我希望是否有一种通过"用户名"或"电子邮件"登录用户的方法.此处提供的解决方案http://goo.gl/Ato1不起作用,因为我在数据库中没有"登录"字段.

那么,我错过了db中的"登录"字段吗?还有其他任何处理方法吗?

登录应该通过用户名或电子邮件发生......

mar*_*ark 9

你试过这个:

class UserSession < Authlogic::Session::Base 
  find_by_login_method :find_by_username_or_email
end
Run Code Online (Sandbox Code Playgroud)

并在user.rb中

def self.find_by_username_or_email(login)
  find_by_username(login) || find_by_email(login)
end

#note login is only the parameter name and does not refer to your model
Run Code Online (Sandbox Code Playgroud)