Поиск в нескольких столбцах - Rails

В настоящее время я пишу метод поиска для своих приложений rails, и на данный момент он работает нормально. У меня в game.rb есть следующее:

def self.search(search)
  if search
    find(:all, :conditions => ['game_name LIKE ? OR genre LIKE ? OR console LIKE ?', "%#{search}%", "#{search}", "#{search}"])
  else
    find(:all)
  end
end

Теперь поиск выполняется нормально, но моя проблема в том, что если есть запись в game_name, в которой есть слово 'playstation', поиск завершится там . Он возвращает только эту запись, а не все игры, в которых на консоли хранится «playstation». Теперь я понимаю, что это потому, что в моих условиях есть «ИЛИ», но я не знаю альтернативы. «И» требует, чтобы все условия совпадают или не возвращаются вообще. Какую альтернативу я могу использовать для И и ИЛИ? Помощь будет очень признательна.

Если есть решение, в котором есть отдельные поля поиска и записи, то это было бы хорошо, я не обязательно требовать поиска, чтобы найти все на основе одной формы поиска.

17
задан Nick Blaisdell 8 March 2017 в 18:24
поделиться