Я создаю поиск рецептов, чтобы возвращать записи, которые соответствуют запросам нескольких ингредиентов. Например, если я буду вводить «Курица» и «Морковь», мои результаты должны возвращать только рецепты, содержащие курицу и морковь.Поиск записей, которые соответствуют нескольким поисковым запросам с помощью Ransack
Пока у меня есть поиск, который хорошо работает только с одним запросом. К сожалению, я не могу найти нигде в документации Ransack, как искать поиск с несколькими запросами.
def index
if params[:query]
@q = Recipe.ransack(ingredients_name_cont: params[:query])
@recipes = @q.result(distinct: true)
else
@recipes = Recipe.all
end
render json: @recipes
end
Любые идеи? Благодаря!
EDIT: Чтобы добавить к описанию выше, я использую Rails в качестве моего API. Я не буду создавать шаблоны в Rails и поэтому не могу использовать никаких помощников формы.
РЕДАКТИРОВАТЬ 2: Если посмотреть на документы ближе (https://github.com/activerecord-hackery/ransack/wiki/basic-searching), кажется, что cont_any очень близок к тому, что мне нужно, за исключением того, что вместо возвращаемых записей, которые соответствуют одному или другому, мне нужно вернуть записи, соответствующие BOTH. Идеи?
Вы должны использовать форматировщик ransack, ransack делает все волшебство за кулисами. Я отправлю код из моей функции поиска рецептов. –