Поиск без учета регистра в Rails Active Record

Хотя в целом мне нравится чувствительность к регистру -в моей базе данных, несколько раз я нахожу это болезненным. имя пользователя _и электронная почта — хорошие примеры полей, где я не хочу беспокоиться о регистре --, особенно при поиске.

Достаточно просто перевести строку в нижний регистр перед сохранением, используя что-то вроде:

до _сохранить сделать self.email.downcase! конец

Таким образом, имя пользователя _и адрес электронной почты всегда сохраняются в нижнем регистре. Но как лучше всего найти _по _имени пользователя _и найти _по электронной почте _? Я могу, конечно, всегда помнить о том, что строка, которую я передаю этим методам --, всегда должна быть в нижнем регистре, но это не кажется очень СУХИМ.

Я думал о том, чтобы переопределить find _по электронной почте _и вызвать оригинал с помощью super после того, как я сократил e -по электронной почте, но мне не повезло понять это.

Итак, как лучше всего это сделать?

PS Я не думаю, что подобные посты похожи на этот(как я могу написать случай -нечувствительный поиск _по электронной почте _для Rails 3)пытаются решить ту же проблему. Пользовательский sql здесь с «более низким» был бы для меня бессмысленным, поскольку я уже убедился, что все эти значения ниже --, это тот, который поступает прямо сейчас (, вероятно, из формы, в которую пользователь ввел его ), который Мне нужно вниз.

9
задан Community 23 May 2017 в 11:47
поделиться