Rails存在?不区分大小写

时间:2015-05-14 15:38:23

标签: ruby-on-rails ruby exists case-insensitive

Model.exists?("lower(email) = ?", params[:email].downcase)

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

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

2 个答案:

答案 0 :(得分:10)

您需要做的就是:

Model.exists?(["lower(email) = ?", params[:email].downcase])

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

答案 1 :(得分:8)

您也可以这样做:

Model.where("lower(email) = ?",params[:email].downcase).exists?