使用Filterrific修复排序

时间:2017-04-14 22:47:04

标签: ruby-on-rails filterrific

我在Rails 5中实现Filterrific,但不需要sort函数。相反,我试图设置一个不会改变的特定排序标准,因此视图上没有排序字段,或选项选择。我正在努力让它认识到我所做的范围变化。任何帮助都非常感谢...

我得到的错误是由控制器生成的:

"默认过滤器参数无效:[" sorted_by"]"

型号:

scope :sorted_by, lambda { |sort_option|
  case sort_option
  when /^date_desc/
    order("account_xactions.xaction_date desc")
  end
}

filterrific(
  default_filter_params: { sorted_by: 'date_desc' },
  available_filters: [
    :search_query,
    :with_account_id
  ]
)

控制器:

@filterrific = initialize_filterrific(
  AccountXaction,
  params[:filterrific],
  :select_options => {
    with_account_id: Account.options_for_select
    }
) or return
@account_xactions = @filterrific

1 个答案:

答案 0 :(得分:0)

你在想Lloydo ......

您忘记将范围添加到available_filters部分,此外,您没有为控制器中的filterrific调用添加find方法。

filterrific(
  default_filter_params: { sorted_by: 'date_desc' },
  available_filters: [
    :sorted_by,
    :search_query,
    :with_account_id
  ]
)

呼叫控制器:

@account_xactions = @filterrific.find