2

在使用ActiveAdmin.register_pageActiveAdmin.register。如何获取已注册页面和资源的列表?

4

1 回答 1

4

假设您使用的是默认命名空间:admin,您可以对 ActiveAdmin 0.6.1+ 执行以下操作。

resource_collection = ActiveAdmin.application.namespaces[:admin].resources

resources = resource_collection.select { |resource| resource.respond_to? :resource_class }
pages     = resource_collection.reject { |resource| resource.respond_to? :resource_class }

resource_classes = resources.map { |resource| resource.resource_class }
page_names       = pages.map     { |resource| resource.name }

ActiveAdmin::Resource和之间的 API 略有不同ActiveAdmin::Page,这就是页面和资源分开提取的原因。命名空间中的所有资源都在其ResourceCollection中。

于 2013-10-24T16:59:40.693 回答