ruby-on-rails 设置ActiveAdmin筛选器默认值

ogq8wdun  于 2023-08-08  发布在  Ruby
关注(0)|答案(3)|浏览(133)

我在ActiveAdmin中有一个简单的布尔值过滤器。看起来是这样的

filter :invisible, as: :select

字符串
你可以选择“任何”、“真”或“假”,它的工作就很好。但是过滤器的默认值是“any”,而我需要将其设置为“true”。我该怎么做呢?- 谢谢-谢谢

qlvxas9a

qlvxas9a1#

我找到答案了您必须使用before_filter,因此它就像

controller do
  before_filter only: :index do
    params[:q] = {invisible_eq: true} if params[:commit].blank?
  end
end

字符串

li9yvcax

li9yvcax2#

试试像这样的:

filter : invisible, as: :select, collection: [["Yes", true], ["No", false]]

字符串
这对我来说很好。
显然,您可以根据需要编辑"Yes"-"No"字符串。

klsxnrf1

klsxnrf13#

另一种方法是复制你想要的默认搜索,例如active = true,然后使用该链接。例如,不显示所有用户并在代码中更改默认值:

/people/users

字符串
相反,使用以下命令:

/people/users?qx%5Bactive%5D%5Bop%5D=null&qx%5Bactive%5D%5Bvalues%5D=true

相关问题