Я пытаюсь сделать общий запрос к моей панели навигации, который проверит, может ли быть найдена запись, содержащая любое из заданных значений в любом из ее полей.
Это запрос в моей модели:
def self.basic_search(*keywords)
where("specialties %% ARRAY[:k] or treatments && ARRAY[:k]::varchar[] or
neighborhood = ANY(ARRAY[:k]) or name ~ ANY(ARRAY[:k])", k: keywords)
end
И в моем контроллере я передаю аргументы keywords.split(' ')
этой функции.
Я получаю TypeError в моем контроллере, который заявляет, что «невозможно заключить в кавычки массив».
Как мне сделать этот запрос?
Я пытался изменить свои массивы, чтобы они соответствовали ARRAY[:k]::varchar[]
, следуя Active Record и PostgreSQL - Ruby on Rails Guide , но это не помоглоне похоже на работу.