В Ransack есть способ реализовать поиск токенов - PullRequest
0 голосов
/ 18 октября 2018

Теперь у меня есть search_field

= f.search_field :name_cont

Я хочу создать список дополнительных слов (токенов), которые будут отображать другой запрос.

Например, если я наберу John он покажет всех Джонов, но если я наберу [], он покажет всех пользователей без имени.

Еще один: @ - будет означать пользователей с именем.

Новая реализация также приветствуется.

1 Ответ

0 голосов
/ 18 октября 2018

В контроллере вы можете изменять параметры поиска в соответствии с любой логикой.Например, если предположить, что ваши параметры поиска сохранены в @search_params (замените тем, что у var, параметры поиска, например, params[:q]):

if @search_params[:name_cont] == "[]"
  @search_params[:name_blank] = true
  @search_params.delete(:name_cont)
end
if @search_params[:name_cont] == "@"
  @search_params[:name_present] = true
  @search_params.delete(:name_cont)
end
...