Rails Admin Custom Dashboard

To create a custom rails_admin dashboard, first create a new file here:

lib/rails_admin.rb

 
And in your rails_config/initializers/rails_admin.rb initializer file, be sure to include the above file:

RailsAdmin.config do |config|
  require Rails.root.join('lib', 'rails_admin.rb')
end

 
Within this new file, do the following:

module RailsAdmin
  module Config
    module Actions
      class Dashboard < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)

        register_instance_option :root? do
          true
        end

        register_instance_option :breadcrumb_parent do
          nil
        end

        register_instance_option :controller do
          proc do
            #You can specify instance variables
            @custom_stats = "grab your stats here."

            #You can access submitted params (just submit your form to the dashboard).
            if params[:xyz]
              @do_something = "here"
            end

            #You can specify flash messages
            flash.now[:danger] = "Some type of danger message here."

            #After you're done processing everything, render the new dashboard
            render @action.template_name, status: 200
          end
        end

        register_instance_option :route_fragment do
          ''
        end

        register_instance_option :link_icon do
          'icon-home'
        end

        register_instance_option :statistics? do
          true
        end
      end
    end
  end
end

 
Now that we have our instance variables, we can customize the actual dashboard HTML by creating the associated file and doing whatever we like.

views/rails_admin/main/dashboard.html.erb

 
This will completely replace the body of the current dashboard statistics page. If you want to maintain some of that functionality, you can always recreate it from the dashboard.html.haml file found within the rails_admin repository.

This is great if you're unsatisfied with the out-of-the-box statistics and want to produce something more robust.

3 thoughts on “Rails Admin Custom Dashboard

  1. P022

    Thanks man, super article, It helped lot!. Can give some tips on customizing navigation(side bar), I want to customize it like active admin, there we can add menu submenu in title bar.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *