如何将 report/custom 页面添加到 ActiveAdmin?

How to add a report/custom page to ActiveAdmin?

我在 Rails 应用程序上为我的 Ruby 使用 ActiveAdmin。我的模型由几个实体组成,例如 "Plan"、"Country" 等。我想要自定义页面用于报告目的。此页面应适用于选定计划的集合。所以,我需要 scopesfilters。目前有一个页面与 "Plan" 模型关联,用于 CRUD 操作。我不想向我的数据模型或数据库添加任何其他内容,因为我在当前模型中拥有我需要的一切。我怎样才能制作这样的页面并通过菜单访问它?

我可以将另一个页面与我的 "Plan" 模型关联如下吗?

ActiveAdmin.register Plan do
  menu label: 'Report', parent: 'Planning', priority: 2
  ...
end

我可以有一个自定义页面来处理使用范围和过滤器选择的一组计划吗?

ActiveAdmin.register_page 'Report' do
   menu parent: 'Planning', priority: 2
   ...
end

或者,我如何将新的 page/route 添加到当前与 "Plan" 模型关联的页面以进行报告? collection_action 可以帮我吗?如果是的话,我怎样才能准确地带来一组计划并展示给他们看?

您可以在 ActiveAdmin 中多次将您的 ActiveRecord 模型注册为新资源:

ActiveAdmin.register Plan, as: 'PlanReport' do
  menu label: 'Report', parent: 'Planning', priority: 2
  ...
end

在此文件中,您可以使用所有 ActiveAdmin 功能,例如范围和过滤器。

https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#rename-the-resource