Игнорировать определенный параметр из Ransack search, но оставаться в форме поиска

#ransack

#ransack

Вопрос:

В моей форме поиска Ransack у меня есть поле с именем created_at_between, которое представляет собой диапазон дат, который вы можете видеть на скриншоте ниже. Я не хочу, чтобы Ransack напрямую использовал его. Вместо этого я хочу игнорировать это из поиска, но мне все еще нужно, чтобы форма поиска в поле диапазон дат отображала значение после отправки формы. Таким образом, пользователь знает, какой диапазон дат он использовал для поиска.

Итак, если я сделаю это, params[:q].except(«created_at_between»), он корректно игнорирует параметр, и результат поиска будет в порядке. Но я думаю, что я теряю его из переменной @q, и поэтому он не отображается в поле даты формы поиска после отправки.

Форма поиска:

введите описание изображения здесь

Код в контроллере:

 @q = Productivity.accessible_by(current_ability, :read)

    if params[:q][:created_at_between]
      date = date_range_separator(params[:q][:created_at_between])
      @q = @q.where('lower(duration) >= ? ', date[:date_from])
             .where('upper(duration) <= ? ', date[:date_to])
    end
    s_param = params[:q].except("created_at_between")
    @q = @q.ransack(s_param)

    @productivities = @q.result
                        .order('created_at DESC')
                        .page(params[:page])