white_wolf_17
@white_wolf_17

Как организовать регистронезависимый поиск в Rails?

Я использую вот такую конструкцию where('lower(name) LIKE ?', "%#{name}.downcase)%"), но почему то downcase не работает и выдает строку такой, какую я ввел
  • Вопрос задан
  • 390 просмотров
Решения вопроса 1
viktorvsk
@viktorvsk
Какой ужас.
1. Смотрите результирующий запрос (интерполяция не работает).
2. Используйте ILIKE вместо того, что б вручную все делать.
3. База то какая?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@PolkovnikBrumel
Ответ написан
Комментировать
@tomcat1911
downcase не работает с кириллицей, можно так: str.mb_chars.downcase
Ответ написан
Комментировать
Jeiwan
@Jeiwan
Ну у вас ошибка в коде:
where('lower(name) LIKE ?', "%#{name}.downcase)%") — получится запрос "WHERE lower(name) LIKE '%Имя.downcase)%'"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы