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