Sha256: d0e0d3e4021412c53d23f757ebc15bb16f27a910a9116e2d116eca57fad0409c

Contents?: true

Size: 970 Bytes

Versions: 2

Compression:

Stored size: 970 Bytes

Contents

---
layout: default
parent: Customizing the Index Page
nav_order: 4
title: Custom Index
redirect_from: /docs/3-index-pages/custom-index.html
---

# Custom Index

If the supplied Active Admin index components are insufficient for your project
feel free to define your own. Index classes inherit from `ActiveAdmin::Component`
and require a `build` method and an `index_name` class method.

```ruby
module ActiveAdmin
  module Views
    class IndexAsMyIdea < ActiveAdmin::Component

      def build(page_presenter, collection)
        # ...
      end

      def self.index_name
        "my_idea"
      end

    end
  end
end
```

The build method takes a PagePresenter object and collection of whatever you
choose.

The `index_name` class method takes no arguments and returns a string that should
be representative of the the class name. If this method is not defined, your
index component will not be able take advantage of Active Admin's
*multiple index pages* feature.

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activeadmin-rails-1.7.1 docs/3-index-pages/custom-index.md
activeadmin-rails-1.7.0 docs/3-index-pages/custom-index.md