重置页面重置筛选器筛选器

时间:2015-06-22 17:29:13

标签: ruby-on-rails filterrific

我使用了ClearCove的精彩filterrific插件。

我想在重新加载页面时重置过滤器。目前,它保留了最后一个搜索过滤器,这让IMO感到困惑。

这是我的控制人员:

  def index
     @filterrific = initialize_filterrific(
      current_user.patients,
      params[:filterrific],
      :select_options => {
        sorted_by: Patient.options_for_sorted_by      },
    ) or return
    @patients = @filterrific.find.page(params[:page])
    @templates = Template.all
    gon.root_url = root_url
  end

我可以通过hack-y方式执行此操作,即使用Jquery单击在视图中呈现的reset_filterrific_url。但这似乎是错误的。如何在加载页面时清除过滤器?

1 个答案:

答案 0 :(得分:9)

filterrific参数保留在浏览器会话中。您可以通过添加persistence_id选项来禁用会话持久性:

@filterrific = initialize_filterrific(
  current_user.patients,
  params[:filterrific],
  :select_options => {
    sorted_by: Patient.options_for_sorted_by      
  },
  :persistence_id => false,
) or return

filterrific documentation的更多信息。