Задать вопрос

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 #
  • Вопрос задан
  • 2779 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
  • Thinknetica
    Оптимизация Ruby/Rails-приложений
    9 недель
    Далее
Решения вопроса 1
Jeiwan
@Jeiwan
@user_array = User.search(query, where: {sex: 'male'})


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

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

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