查找不区分大小写的电子邮件在Devise中不起作用

时间:2017-01-16 08:17:10

标签: ruby-on-rails email devise ruby-on-rails-5

基于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

1 个答案:

答案 0 :(得分:1)

请注意,User.find_by(email: params[:email])区分大小写。请改用User.find_for_authentication(email: params[:email])。见docs