Custom Pages
When you need a standalone page on your site, Custom Pages will be there with a familiar syntax to resource registration.
Available Features
- main page content
- menu item
- sidebars
- action_items
- page_actions
Create a new Page
Creating a page is a simple as calling the register_page
method:
ActiveAdmin.register_page "My Page" do
content do
para "Hello World"
end
end
In the above example, a new page will be created at /admin/my_page
with the
title "My Page" and the content of "Hello World". Anything rendered within
content
will be the main content on the page.
Page Title & I18n
Coming soon...
Customize the Menu
The menu item is available to customize just like any other resource in Active Admin.
Add a Sidebar Section
You can add sidebar sections to your pages using the same DSL as other resources in Active Admin:
ActiveAdmin.register_page "My Page" do
:help do
ul do
li "First Line of Help"
end
end
content do
para "Hello World"
end
end
This creates a sidebar section named "Help" containing an unordered list. To view the full customization options, visit Sidebars.
Add an Action Item
Just like other resources, you can add Action Item's to pages:
ActiveAdmin.register_page "My Page" do
action_item do
link_to "View Site", "/"
end
content do
para "Hello World"
end
end
This adds an action item that links to the root URL of the application.
Add a Page Action
page_action
allows you to define controller actions specific to this page,
and is the functional equivalent of collection_action
.
ActiveAdmin.register_page "My Page" do
page_action :ex, :method => :post do
# do stuff here
redirect_to admin_my_page_path, :notice => "You did stuff!"
end
action_item do
link_to "Do Stuff", admin_my_page_ex_path, :method => :post
end
content do
para "Hello World"
end
end
This defines the route /admin/my_page/ex
which can handle HTTP POST requests.
Clicking on the action_item
will reload page with the message "You did stuff!"