Как включить автозаполнение searchkick для нескольких полей?

Можно ли использовать несколько полей для функции автозаполнения searchkick? Кажется, он ищет только первое указанное поле.

Например, для человека с first_name "Фу" и last_name "Бар"

Person.search("Fo", fields: [first_name: :text_start, last_name: :text_start]) — возвращает результат

Person.search("Ba", fields: [first_name: :text_start, last_name: :text_start]) - результатов не найдено


person Musannif Zahir    schedule 16.09.2015    source источник
comment
он думает, что text_start отсутствует: для фамилии   -  person Asad Ali    schedule 16.09.2015


Ответы (1)


Я не слишком знаком с этим, но я думаю, что да. Из документов:

https://github.com/ankane/searchkick#autocomplete

City.search "san fr", fields: [{name: :text_start}]

Кажется, это означает, что вы можете дать массив хэшей. Если вы не укажете волнистые скобки, как вы, это сделает один массив с одним хэшем.

person Brian Underwood    schedule 16.09.2015
comment
хороший улов, но у меня та же проблема с Person.search("Ba", fields: [{first_name: :text_start}, {last_name: :text_start}]) - person Musannif Zahir; 16.09.2015
comment
Хм, я не уверен. Документы, похоже, указывают на то, что что-то подобное будет работать. У вас есть word_start, указанный в вызове searchkick? Вот что он показывает для одного поля: searchkick word_start: [:name] - person Brian Underwood; 16.09.2015
comment
Спасибо, это было. Я удалил last_name из вызова searchkick во время отладки, и в конечном итоге именно отсутствующий {} вызвал проблему. - person Musannif Zahir; 16.09.2015
comment
Здорово. Удачи! ;) - person Brian Underwood; 16.09.2015