В настоящее время я пишу метод поиска для своих приложений 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». Теперь я понимаю, что это потому, что в моих условиях есть «ИЛИ», но я не знаю альтернативы. «И» требует, чтобы все условия совпадают или не возвращаются вообще. Какую альтернативу я могу использовать для И и ИЛИ? Помощь будет очень признательна.
Если есть решение, в котором есть отдельные поля поиска и записи, то это было бы хорошо, я не обязательно требовать поиска, чтобы найти все на основе одной формы поиска.