Sidebar Sections
Sidebars allow you to put whatever content you want on the side of the page.
config.add_sidebar_section :help
# app/views/admin/posts/_help_sidebar.html.arb
"Need help? Email us at [email protected]"
This will generate a sidebar on every page for that resource. The first argument is used as the title, and can be a symbol, string, or lambda.
Sidebars can be rendered on a specific action by passing :only
or :except
.
config.add_sidebar_section :help, only: :index
If you want to conditionally display a sidebar section, use the :if option and pass it a proc which will be rendered within the view context.
config.add_sidebar_section :help, if: proc{ current_admin_user.super_admin? }
You can access your model as resource in the sidebar too:
# app/views/admin/posts/_custom_sidebar.html.arb
resource.a_method
You can also override the partial name:
config.add_sidebar_section :help # app/views/admin/posts/_help_sidebar.html.erb
config.add_sidebar_section :help, partial: 'custom' # app/views/admin/posts/_custom.html.erb
It’s possible to add custom class name to the sidebar parent element by passing class
option:
config.add_sidebar_section :help, class: 'custom_class'
By default sidebars are positioned in the same order as they defined, but it’s also possible to specify their position manually:
# will push Help section to the top (above default Filters section)
config.add_sidebar_section :help, priority: 0
Default sidebar priority is 10
.