RoR 4, Elasticsearch и searchkick. Как сделать поиск с условием?

Здравствуйте.
Для поиска в проекте использую Elasticsearch и гем searchkick.
Как правильно использовать метод where? Надо чтобы из таблицы User поиск и выдача результатов была с условием, поле sex = 'male'.

Controller
if params[:query].present?
  query = params[:query]
  @user_array = User.search(query)


View
- @user_array.each do |user|
  ...


Если в контроллер добавить
@res_male = User.where(sex: 'male')
а потом делать @user_array = @res_male.search(query), ругается - undefined method `search' for #
  • Вопрос задан
  • 2778 просмотров
Решения вопроса 1
Jeiwan
@Jeiwan
@user_array = User.search(query, where: {sex: 'male'})


Об этом написано в доке гема: https://github.com/ankane/searchkick#queries
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы