在activeadmin中过滤后是否可以对所有记录执行批处理操作?

Is it possible to perform a batch action on all of the records after filtering in activeadmin?

我需要在 activeadmin 中过滤后对所有记录执行批处理操作。我读过以下问题:ActiveAdmin: batch select all pages 但在这种情况下 select 相当简单。我们可以只使用 Model.all 或类似的东西。但是是否可以 select 应用过滤器后所有页面上的所有记录?

我会 post 我的解决方案,以帮助遇到类似问题的其他人。

所以我考虑了 link_to :back 并理解 rails 应该有一些对象保存以前的 URL,以及一些检索此数据的方法。在rails中,ActiveDispatch负责处理请求和相关的事情。在控制器内部,我们可以使用 request 对象(它是 ActiveDispatch::Request 的实例)来访问这些数据。我们需要的是request.referer方法。

找到 URL 后,我们需要解析其参数,执行搜索,稍后我们可以根据需要处理这些数据。在我的例子中,将找到的用户 ID 提交到模板,收集特定的用户输入并提交带有用户 ID 的输入以更新所有用户 ID。

顺便说一句,有一个方便的方法来解析 URL:

Rack::Utils.parse_nested_query