Skip to content
A Rails engine that helps you put together a super-flexible admin dashboard.
Ruby HTML CSS Other
Branch: master
Clone or download
Latest commit 9bc3aed Oct 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Drop support for Ruby 2.4 Sep 10, 2019
.github/ISSUE_TEMPLATE Add issue templates (#1426) Sep 17, 2019
app Added icons to copied templates (#1285) Aug 16, 2019
bin Remove delayed_job_active_record dependency (#845) May 2, 2017
docs Break Rails API documentation out to it's own page (#1378) Aug 16, 2019
spec Drop active_job from the dependencies (#1331) Sep 10, 2019
.hound.yml Update rubocop configuration file to run locally Feb 14, 2016
.rspec Remove the fuubar gem Apr 19, 2016
.rubocop.yml Update .rubocop.yml for rubocop 0.53. (#1116) Mar 16, 2018
.sample.env New suspenders app Feb 20, 2015
.scss-lint.yml Update normalize.css and change how we include it (#882) May 19, 2017
Appraisals Release version 0.12.0 Sep 10, 2019 Add (#915) Jun 20, 2017 Add appraisal and foreman commands to docs (#877) May 9, 2017
Gemfile Drop rails_stdout_logging (#1425) Sep 17, 2019
Gemfile.lock Bump autoprefixer-rails from to 9.6.4 (#1438) Oct 7, 2019
Procfile Remove worker from Procfile (#854) May 3, 2017 Update copyright notice to 2019 [ci skip] (#1278) Apr 19, 2019
Rakefile Improve heroku deploy workflow Nov 6, 2015
administrate.gemspec Drop active_job from the dependencies (#1331) Sep 10, 2019
app.json It's not necessary to configure Rack::Timeout. (#1326) Apr 19, 2019


CircleCI Gem Version Code Climate Reviewed by Hound

A framework for creating flexible, powerful admin dashboards in Rails. Try the demo.


Administrate is still pre-1.0, and there may be occasional breaking changes to the API. Check the release notes for important updates.


What Is Administrate?

Administrate is a library for Rails apps that automatically generates admin dashboards. Administrate's admin dashboards give non-technical users clean interfaces that allow them to create, edit, search, and delete records for any model in the application.

Administrate solves the same problem as Rails Admin and ActiveAdmin, but aims to provide a better user experience for site admins, and to be easier for developers to customize.

To accomplish these goals, Administrate follows a few guiding principles:

  • No DSLs (domain-specific languages)
  • Support the simplest use cases, and let the user override defaults with standard tools such as plain Rails controllers and views.
  • Break up the library into core components and plugins, so each component stays small and easy to maintain.

Getting Started

Administrate supports Rails from 4.2, up to 5.0 and beyond. We support Ruby 2.4 and up.

Add Administrate to your Gemfile and re-bundle:

gem "administrate"

The included installer will create dashboards for each model in your app, complete with routes:

$ rails generate administrate:install

Restart your server, and visit http://localhost:3000/admin to see your new dashboard in action.

For more detailed instructions or to make it work with Rails API-only applications, please go through the 'Getting Started` guide.

Create Additional Dashboards

In order to create additional dashboards, pass in the resource name to the dashboard generator. A dashboard and controller will be created.

$ rails generate administrate:dashboard Foo


To customize the appearance, behavior, and contents of the dashboard, see the guides at These guides are available as markdown files in the docs subdirectory of the git repository, too.

Repository Structure

This repository contains both the source code for Administrate, and a demo Rails app that uses Administrate. The demo app is hosted publicly on Heroku.

  • The gem's source code lives in the app and lib subdirectories.
  • The demo app is nested within spec/example_app.
  • The guides as seen at live as markdown files in the docs subdirectory.

Rails configuration files have been changed to recognize the app in the new location, so running the server or deploying to Heroku works normally.

With this structure, developing a typical feature looks like:

  • Add tests in spec/
  • Implement a feature in administrate/
  • Exercise the feature using the demo rails app (spec/example_app/app/)

Front-end Architecture

This project uses:

  • Sass
  • BEM-style CSS selectors, with namespaces
  • Autoprefixer
  • SCSS-Lint, with Hound (configuration)
  • A variety of CSS units:
    • em for typographical-related elements
    • rem for lengths related to components
    • px for borders, text shadows, etc.
    • vw/vh for lengths that should be relational to the viewport


Please see

administrate was originally written by Grayson Wright and is now maintained by Nick Charlton. Many improvements and bugfixes were contributed by the open source community.


administrate is Copyright © 2015-2019 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About thoughtbot


administrate is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects or hire us to design, develop, and grow your product.

You can’t perform that action at this time.