2015-05-14 59 views
3
Model.exists?("lower(email) = ?", params[:email].downcase) 

返回錯誤:ArgumentError (wrong number of arguments (2 for 0..1)):導軌存在?不區分大小寫

是否有可能做一個不區分大小寫的匹配一個exists?

+4

你誤讀的錯誤,你應該[看爲'存在的正確使用文檔'?](http://apidock.com/ rails/ActiveRecord/Base /存在%3F/class) – sjagr

+0

你寧願小寫,然後儲存在db – apneadiving

+0

@sjagr - 是的。你是對的。 – Philip

回答

9

所有你需要做的是這樣的:

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

它找一個參數,但你提供兩個。使用數組形式和查找樣式條件應該得到你需要的。

8

你也可以這樣做:

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