在 Active_admin 中设置下拉选择
Setting up drop down selection in Active_admin
我设置了 Active_admin,其中有一个字段 Is_test(布尔值),但我希望它在启动时只显示 is_test 的错误记录。以下是我的 active_admin table 文件中的代码,它工作正常,但是当我点击分页时它给我错误。
controller do
before_action is_test: :index do
if params[:format] != 'csv'
params[:q] = {is_test_eq: false} if params[:commit].blank?
end
end
end
如果我从上面的代码中删除 is_test:
它会起作用,但是 selected 是真的。我只是想确定它应该 select false is_test 下拉。
我添加了以下内容以在过滤器部分显示为下拉列表
filter :is_test, label: "Test orders"
我不确定你到底想达到什么目的,但我会这样做:
- 请勿修改您的控制器
- 并像这样添加默认范围:
ActiveAdmin.register YourResource do
scope("Non-test") { |scope| scope.where(is_test: false) }, default: true # assuming there is no scope in model class
scope :all # In case you want to see all cases
end
这个解决方案不会给你一个下拉菜单,而是一个可点击的按钮,你可以在其中从非测试中过滤掉测试....顺便说一下,这是你的索引页面。
在尝试了许多不同的解决方案和教程之后,我发现没有直接的方法,但我使用 url 并使用参数来获得结果。
以下是允许我显示适当结果的代码。
if params[:order].blank?
params[:q] = {is_test_eq: false} if params[:commit].blank?
end
首先我检查页码是否为空 params[:page]
但是当我按下 <<First
按钮时它给了我不正确的结果,然后我终于 select 这个 params[:order].blank?
,而且我还使用了 commit,所以没有应用过滤器。这让我通过了 QA。全部完成。
我设置了 Active_admin,其中有一个字段 Is_test(布尔值),但我希望它在启动时只显示 is_test 的错误记录。以下是我的 active_admin table 文件中的代码,它工作正常,但是当我点击分页时它给我错误。
controller do
before_action is_test: :index do
if params[:format] != 'csv'
params[:q] = {is_test_eq: false} if params[:commit].blank?
end
end
end
如果我从上面的代码中删除 is_test:
它会起作用,但是 selected 是真的。我只是想确定它应该 select false is_test 下拉。
我添加了以下内容以在过滤器部分显示为下拉列表
filter :is_test, label: "Test orders"
我不确定你到底想达到什么目的,但我会这样做:
- 请勿修改您的控制器
- 并像这样添加默认范围:
ActiveAdmin.register YourResource do
scope("Non-test") { |scope| scope.where(is_test: false) }, default: true # assuming there is no scope in model class
scope :all # In case you want to see all cases
end
这个解决方案不会给你一个下拉菜单,而是一个可点击的按钮,你可以在其中从非测试中过滤掉测试....顺便说一下,这是你的索引页面。
在尝试了许多不同的解决方案和教程之后,我发现没有直接的方法,但我使用 url 并使用参数来获得结果。
以下是允许我显示适当结果的代码。
if params[:order].blank?
params[:q] = {is_test_eq: false} if params[:commit].blank?
end
首先我检查页码是否为空 params[:page]
但是当我按下 <<First
按钮时它给了我不正确的结果,然后我终于 select 这个 params[:order].blank?
,而且我还使用了 commit,所以没有应用过滤器。这让我通过了 QA。全部完成。