Rails存在?不区分大小写

Phi*_*lip 5 ruby ruby-on-rails exists case-insensitive

Model.exists?("lower(email) = ?", params[:email].downcase)
Run Code Online (Sandbox Code Playgroud)

返回错误: ArgumentError (wrong number of arguments (2 for 0..1)):

是否可以使用不exists?区分大小写的匹配?

MCB*_*ama 11

你需要做的就是:

Model.exists?(["lower(email) = ?", params[:email].downcase])
Run Code Online (Sandbox Code Playgroud)

它正在寻找一个单一的论点,但你提供两个.使用数组表单和查找样式条件应该得到你需要的.


pan*_*ang 8

你也可以这样做:

Model.where("lower(email) = ?",params[:email].downcase).exists?
Run Code Online (Sandbox Code Playgroud)