我在ActiveAdmin中有一个简单的布尔值过滤器。看起来是这样的
filter :invisible, as: :select
字符串你可以选择“任何”、“真”或“假”,它的工作就很好。但是过滤器的默认值是“any”,而我需要将其设置为“true”。我该怎么做呢?- 谢谢-谢谢
qlvxas9a1#
我找到答案了您必须使用before_filter,因此它就像
before_filter
controller do before_filter only: :index do params[:q] = {invisible_eq: true} if params[:commit].blank? end end
字符串
li9yvcax2#
试试像这样的:
filter : invisible, as: :select, collection: [["Yes", true], ["No", false]]
字符串这对我来说很好。显然,您可以根据需要编辑"Yes"-"No"字符串。
"Yes"
"No"
klsxnrf13#
另一种方法是复制你想要的默认搜索,例如active = true,然后使用该链接。例如,不显示所有用户并在代码中更改默认值:
/people/users
字符串相反,使用以下命令:
/people/users?qx%5Bactive%5D%5Bop%5D=null&qx%5Bactive%5D%5Bvalues%5D=true
型
3条答案
按热度按时间qlvxas9a1#
我找到答案了您必须使用
before_filter
,因此它就像字符串
li9yvcax2#
试试像这样的:
字符串
这对我来说很好。
显然,您可以根据需要编辑
"Yes"
-"No"
字符串。klsxnrf13#
另一种方法是复制你想要的默认搜索,例如active = true,然后使用该链接。例如,不显示所有用户并在代码中更改默认值:
字符串
相反,使用以下命令:
型