基于initializers/devise.rb
下面的配置:
# Configure which authentication keys should be case-insensitive.
# These keys will be downcased upon creating or modifying a user and when used
# to authenticate or find a user. Default is :email.
config.case_insensitive_keys = [:email]
"找到用户" 是什么意思?是在做什么时候:
User.find_by(email: "UsEr@ExampLe.com")
因为当我的数据库中有电子邮件"user@example.com"
的用户时,这不起作用并返回nil。
我使用rails 5和Devise 4.2.0
答案 0 :(得分:1)
请注意,User.find_by(email: params[:email])
区分大小写。请改用User.find_for_authentication(email: params[:email])
。见docs