- Installation
- General Configuration
- Authentication
- Site Title Options
- Internationalization (I18n)
- Namespaces
- Load paths
- Comments
- Utility Navigation
- Working with Resources
- Rename the Resource
- Customize the Namespace
- Customize the Menu
- Scoping the queries
- Customizing resource retrieval
- Belongs To
- Customizing the Index Page
- Customizing the CSV format
- Customizing the Form
- Customize the Show Page
- Sidebar Sections
- Custom Controller Actions
- Index Batch Actions
- Custom Pages
- Decorators
- Arbre Components
- Authorization Adapter
Customize the Show Page
The show block is rendered within the context of the view and uses Arbre syntax.
With the show
block, you can render anything you want.
ActiveAdmin.register Post do
show do
h3 post.title
div do
simple_format post.body
end
end
end
You can render a partial at any point:
ActiveAdmin.register Post do
show do
# renders app/views/admin/posts/_some_partial.html.erb
render 'some_partial', { post: post }
end
end
If you’d like to keep the default AA look, you can use attributes_table
:
ActiveAdmin.register Ad do
show do
attributes_table do
row :title
row :image do |ad|
image_tag ad.image.url
end
end
active_admin_comments
end
end
You can also customize the title of the object in the show screen:
show title: :name do
# ...
end
If you want a more data-dense page, you can combine a sidebar:
ActiveAdmin.register Book do
show do
panel "Table of Contents" do
table_for book.chapters do
column :number
column :title
column :page
end
end
active_admin_comments
end
sidebar "Details", only: :show do
attributes_table_for book do
row :title
row :author
row :publisher
row('Published?') { |b| status_tag b.published? }
end
end
end
If you want to keep the default show data, but add something extra to it:
show do
div do
h3 'Some custom charts about this object'
render partial: 'charts'
end
default_main_content
end