Я пытаюсь использовать Filterrific
gem для фильтрации данных.но, похоже, каждый раз, когда я набираю текстовое поле, он просто обновляет страницу и фильтрует.Я не хочу, чтобы он обновлял страницу, и она должна быть мгновенной.
Модель:
filterrific(
default_filter_params: {},
available_filters: [
:dictionary_word_filter
]
)
scope :dictionary_word_filter, lambda { |dictionary_word|
where("dictionary_word LIKE :search", search: "%#{dictionary_word}%")
}
Контроллер:
def index
dictionary_types = DimDictionary::DISPLAY_TYPE.map{|key, value| value }
@dictionary_types_array = DimDictionaryType.where(dictionary_type_name: dictionary_types).pluck(:dictionary_type_name, :dictionary_type_id)
@filterrific = initialize_filterrific(
fetch_dictionary_collection,
params[:filterrific],
select_options: {},
persistence_id: 'shared_key',
default_filter_params: {},
available_filters: [
:dictionary_word_filter
],
) || return
@dictionaries = @filterrific.find
respond_to do |format|
format.html
format.js
end
end
Создано три файла:
Index.html.haml
= form_for_filterrific @filterrific do |f|
.ui.form
.fields
.field
Filter Word
= f.text_field :dictionary_word_filter
= render_filterrific_spinner
= render(partial: 'test/list', locals: { dictionaries: @dictionaries, dictionary_types_array: @dictionary_types_array })
Index.js.erb
<% js = escape_javascript(render(partial: 'test/list', locals: { dictionaries: @dictionaries, dictionary_types_array: @dictionary_types_array })) %>
$("#filterrific_results").html("<%= js %>");
_list.html.haml
#filterrific_results
%strong Test Is Working
%table.table.dictionary-table
%thead
%tr
%th #
%th Type
%th Word
%th Replacement
%tbody#dictionary-content-area.clusterize-content
- counter = 0
- dictionaries.each do |dictionary|
- counter = counter + 1
%tr{ data: {id: dictionary.dictionary_id, index: counter, type: dictionary.dim_dictionary_type.dictionary_type_id}}
%td
= counter
%td#dictionary-type
= dictionary.dim_dictionary_type.dictionary_type_name
%td#original-word
= dictionary.dictionary_word
%td#replaced-word
= dictionary.dictionary_replacement
Я что-то делаюздесь не так?Это все, что я добавил.Как исправить эту проблему .. используя rails 5 и ruby 2.5.0
И просто чтобы добавить, я не использую Postgres.используя SQL db