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'
  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
        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
Copyright 2011 Greg Bell and VersaPay