Как сделать так, чтобы все искатели на модели игнорировались? - PullRequest
0 голосов
/ 13 марта 2010

У меня есть модель с несколькими атрибутами, среди которых title и artist.

Регистр title и artist следует игнорировать во всех средствах поиска Active Record.

В основном, если title или artist присутствуют в условиях: (или динамически, т.е. find_all_by_artist), тогда WHERE artist = :artist должен стать WHERE UPPER(artist) = UPPER(:artist) или чем-то подобным.

Есть ли способ сделать это с помощью Rails?

1 Ответ

1 голос
/ 13 марта 2010

Если вы используете базу данных MySQL, поиск выполняется по умолчанию без учета регистра . Прочитайте MySQL документацию для более подробной информации.

Так finder звоните, например:

Album.find_all_by_artist("Nine Inch Nails").each do |album|
  p album.title
end

То же, что и звонок ниже:

Album.find_all_by_artist("NINE INCH NAILS").each do |album|
  p album.title
end

Оба запроса выведут один и тот же результат:

# -> Pretty Hate Machine
# -> Broken
# -> ....
# -> The Slip
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...