Я добавляю панель поиска в свое приложение rails. Он отлично работает для поиска текста, но я также хочу найти свое поле «дата», которое является целым числом. Я уверен, что есть простой ответ на этот вопрос, но я искал везде в Интернете и не могу понять. Я запускаю MySQL локально, и он работает нормально, потому что база данных преобразует «дату» в строку. Когда я нажимаю на Heroku, он ломается, потому что база данных PG хочет найти целое число. Вот мой код, который отлично работает на MySQL:
def self.search(search)
if search
losearch = search.downcase
find(:all, :conditions => ['lower(description) LIKE ? OR lower(artist) LIKE ? OR lower(album) LIKE ? OR lower(date) LIKE ?', "%#{search.downcase}%", "%#{search.downcase}%", "%#{search.downcase}%", "%#{search.downcase}%"], order: "created_at desc")
else
find(:all, order: "created_at desc")
end
end
Я знаю, что дата должна быть что-то вроде date = ?, но я не совсем понимаю.
search.to_s.downcase
? Поскольку2011
входит как целое число, сначала преобразуйте его в строку, а затем выполните остальную часть обработки. - person Rajesh Kolappakam   schedule 23.09.2013date
на самом деле представляет собой целое число, которое содержит номер года, и если кто-то ищет 11, вы хотите найти годы1109
,1911
,2011
и2112
? - person mu is too short   schedule 23.09.2013