Поиск работает, когда я использую целые слова, но я хочу, чтобы и частичные слова были распознаны.
У меня есть форма здесь:
= form_tag({}, method: :get) do
= text_field_tag :query, query, class: 'form-input search__input', placeholder: t('.placeholder')
- if query.nil?
%span.search__icon.fa.fa-search{ aria: { hidden: 'true' } }
- else
= link_to more_path do
%span.search__icon.text-success.fa.fa-times{ aria: { hidden: 'true' } }
контроллер:
def set_query
@query = params[:query]
end
def set_documents
@documents = @folder ? @folder.documents : current_user.documents
@documents = (params[:query] ? @documents.where(
:$text => {:$search => params[:query]}
) : @documents).page(params[:page])
end
Я попытался добавить это в контроллер, чтобы заставить его работать так, как я хочу:
@documents = Document.where('name LIKE ?', "%#{@query}%")
end
но тогда я получаю ошибку:
wrong number of arguments (given 2, expected 1)
Как мне написать это так, чтобы поиск мог работать не только для целых слов, но и для написанных частичных слов.