рельсы 4 Ruby Поиск по локальным атрибутам и ключевым словам внешних атрибутов - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь создать поле поиска по ключевым словам, которое может выполнять поиск по нескольким атрибутам.

Вот мой метод search_requests, у меня он работает, но он не работает для ВСЕХ атрибутов, он работает только когда я комментирую одинстрока кода.

Я знаю, что проблема связана с: join.Но я не уверен, как включить обычные атрибуты (не для локальной таблицы, локальные) в эту же строку кода.

Любой совет был бы полезен.

Пожалуйста, кто-нибудь может сообщить мне, как написатьэта строка кода в правильном виде.


requests = requests.joins(:house).where(["houses.doorno LIKE ? OR 
houses.house_title LIKE ? title LIKE ? OR description LIKE ?", "%# 
{keywords}%", "%#{keywords}%"]).where(["title LIKE ? OR description LIKE ?", 
 "%#{keywords}%", "%#{keywords}%"]) if keywords.present?

Спасибо

1 Ответ

0 голосов
/ 01 марта 2019

Для использования условия where в связанной таблице используйте «include», и вы можете создать запрос, как показано ниже.Но проверьте правильность имени таблицы в единственном / множественном числе.

 requests = requests.includes(:houses).references(:houses).where("houses.doorno LIKE ? OR 
 houses.house_title LIKE ?", "%# 
{keywords}%", "%#{keywords}%").where("title LIKE ? OR description LIKE ?", 
 "%#{keywords}%", "%#{keywords}%") if keywords.present?
...