我按照wiki帖子添加用户名作为Devise的另一种身份验证方法.. https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign_in-using-their-username-or-email-address
完成步骤并尝试登录后,我收到了此错误:
ActiveRecord::StatementInvalid in Devise::SessionsController#create
SQLite3::SQLException: no such column: users.login: SELECT "users".* FROM "users" WHERE "users"."login" = 't2kocurek@gmail.com' LIMIT 1
如您所见,create方法正在查找登录列。我不确定为什么会这样。我覆盖了注册控制器,并将self.find_for_authentication方法与其他方法一起添加到了它。
有什么想法吗?
我需要发布哪些代码才能提供更多线索?
答案 0 :(得分:2)
复制代码时可能会遗漏一些细节。您确定已定义def self.find_for_authentication
,即类方法吗?要确保双重确定,请尝试在方法定义中添加raise
,看看是否会出现错误。