Синтаксис MySQL в Rails 3, НЕ регистрозависимый поиск, не работает на Heroku? - PullRequest
5 голосов
/ 12 января 2011

Я слежу за Railscast за добавлением поиска, сортировки и нумерации страниц в мое приложение. Я изменил свою логику поиска в модели для поиска по столбцам (описание и заголовок). Кажется, это работает. Я также изменил его для поиска без учета регистра. Кажется, это прекрасно работает в моем локальном приложении, но когда я помещаю его в heroku, я могу искать только строчными буквами. Поиск с использованием любых заглавных букв вообще не дает результатов, даже если регистр соответствует результатам.

вот код в моей модели:

  def self.search(search)
    if search
      where('LOWER (description) LIKE ? OR LOWER (title) LIKE ?', "%#{search}%" , "%#{search}%")
    else
      scoped
    end
  end

Ответы [ 2 ]

5 голосов
/ 12 января 2011

Попробуйте

where("LOWER (description) LIKE ? OR LOWER (title) LIKE ?", "%#{search.downcase}%" , "%#{search.downcase}%")
0 голосов
/ 13 января 2011

У меня тоже была эта проблема. Heroku использует PostgreSQL, а LIKE-оператор строго привязан к строкам. Проверьте это http://www.postgresql.org/docs/8.3/interactive/functions-matching.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...