Если у пользователя (скажем, X) есть электронное письмо «Dillan@example.com», то
User.find(:all, :conditions => ["lower(email) =?", "dillan@example.com"])
должен вернуть пользователя X. Я не копировал ситуацию, но я полагаю, что это, по сути, вы, по-вашему,нужно сделать.
Или, что еще лучше, использовать вместо вместо поиска, как указано @MrTheWalrus
User.where('lower(email) = ?', "dillan@example.com").first