Ruby on rails ActiveAdmin允许用户在索引中设置每页值
ActiveAdmin说明了如何使用config.per_page禁用分页并设置资源索引中每页的记录数,但我想知道是否有一种内置方法允许用户自己设置per_page值,例如使用下拉菜单?不幸的是,没有这种可能性。 您只能将其全局设置为默认值Ruby on rails ActiveAdmin允许用户在索引中设置每页值,ruby-on-rails,drop-down-menu,pagination,settings,activeadmin,Ruby On Rails,Drop Down Menu,Pagination,Settings,Activeadmin,ActiveAdmin说明了如何使用config.per_page禁用分页并设置资源索引中每页的记录数,但我想知道是否有一种内置方法允许用户自己设置per_page值,例如使用下拉菜单?不幸的是,没有这种可能性。 您只能将其全局设置为默认值 config.default_per_page = 50 #in config/initializers/active_admin.rb 或者,如前所述,通过使用config.per_页面对每个资源进行设置 要启用每页下拉设置config/initiali
config.default_per_page = 50 #in config/initializers/active_admin.rb
或者,如前所述,通过使用config.per_页面对每个资源进行设置
要启用每页下拉设置config/initializers/active_admin.rb:
config.default_per_page=[25,50100]
或者只是在资源中
config.per_page=[25,50100]我知道这个问题已经有好几年了,但是如果我遇到它,其他人可能会,我最终找到了一种方法,使用一些非常简单的javascript来完成这个问题 我的设置: 带有ActiveAdmin 1.0.0pre的Rails 4.2 背景: 如果传入,ActiveAdmin将解释每_页查询字符串参数 ActiveAdmin使用隐藏字段hidden\u active\u admin\u per\u page字段 在“索引”页面的“筛选器”部分中,在其他筛选/分页过程中维护此设置,即当此设置更改时,它将新值作为查询字符串参数与其他筛选条件一起发送 我决定利用这个内置功能,只需公开这个隐藏字段,并将其作为下拉列表显示给管理员即可 我用的代码 工作原理 从隐藏字段中获取每页值,ActiveAdmin使用该字段在客户端管理每页设置 每页var\u数量=$hidden\u active\u admin\u per\u page.val 删除active admin添加的隐藏字段,因为我们和您请求了下拉列表: $hidden\u active\u admin\u per\u page.remove 将可见输入添加回表单的筛选器部分 $form.filter\u form.prepend 将每页输入设置为删除字段前检索到的值 $hidden\ U active\ U admin\ U per\ U page\ U数量 其他想法
我在预挂起的输入中硬编码了默认的per_页面,即选择25,因为这是我配置中的默认值。您很可能从rails默认设置中注入此值。当然可以使用:
ActiveAdmin.register MyModel do
before_action only: :index do
unless params[:per_page]
# Default pagination option if it's not already set.
@per_page = 30
end
end
# The page drop down options.
config.per_page = [10, 20, 30, 50, 75, 100]
# .. rest of your activeadmin code.
end
我觉得没有必要在行动之前就采取行动。
ActiveAdmin.register MyModel do
before_action only: :index do
unless params[:per_page]
# Default pagination option if it's not already set.
@per_page = 30
end
end
# The page drop down options.
config.per_page = [10, 20, 30, 50, 75, 100]
# .. rest of your activeadmin code.
end