Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A Rails engine that helps you put together a super-flexible admin dashboard.

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27 (1 ratings)
Rated 4.5 out of 5
Subscribe to updates I use administrate

Statistics on administrate

Number of watchers on Github 4815
Number of open issues 168
Average time to close an issue 14 days
Main language Ruby
Average time to merge a PR 6 days
Open pull requests 201+
Closed pull requests 57+
Last commit 3 months ago
Repo Created over 5 years ago
Repo Last Updated 3 months ago
Size 1.68 MB
Homepage http://administra...
Organization / Authorthoughtbot
Latest Releasev0.14.0
Page Updated
Do you use administrate? Leave a review!
View open issues (168)
View administrate activity
View TODOs for administrate (2)
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating administrate for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)
What people are saying about administrate Leave a review
easily generated

title: Administrate

home: true

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.

If your apps uses Sprockets 4, you'll need to add Administrate's assets to your manifest.js file. To do this, add these two lines to the file:

//= link administrate/application.css
//= link administrate/application.js

Otherwise, your app will show you this error:

Asset `administrate/application.css` was not declared to be precompiled in production.
Declare links to your assets in `app/assets/config/manifest.js`.

For more information on why this is necessary, see https://www.schneems.com/2017/11/22/self-hosted-config-introducing-the-sprockets-manifestjs

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 https://administrate-prototype.herokuapp.com. These guides are available as markdown files in the docs subdirectory of the git repository, too.


Please see CONTRIBUTING.md.

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.

administrate open issues Ask a question     (View All Issues)
  • almost 4 years Search functionality issues
  • almost 4 years Broken sort arrow in the resource table
  • almost 4 years Setting extra attributes on has_many join table?
  • almost 4 years Unable to display has many relationship if "source" is used in the relationship
  • almost 4 years Question: Does this gem allow adding children to parent object?
  • almost 4 years Demo app throws errors
  • about 4 years "datetimepicker" not showing / responding in datetime field.
  • about 4 years Fresh install of gem, cannot get past Invalid CSS Error
  • about 4 years with_options usage documentation
  • about 4 years Generate administrate:views creates incorrect path
  • about 4 years Install causes Collection attribute type errors
  • about 4 years Question: default_scoped models
  • about 4 years ActiveRecord::AssociationTypeMismatch in Admin::CampingsController#update
  • over 4 years question: Can I hide dashboards from the left menu but keep them in as relationships?
  • over 4 years I18N: Attributes labels translation issue
  • over 4 years cast type in search (function lower text does not exist error)
  • over 4 years How do I customize various admin messages?
  • over 4 years How to pass current_user to Administrate::Field ?
  • over 4 years Dependency on bourbon not listed
  • over 4 years rails g install error
  • over 4 years Question: Why aren't field options available to templates?
  • over 4 years NoMethodError on Models with methods overriding their fields
  • over 4 years Is it possible to display an association on a particular dashboard?
  • over 4 years NameError in Admin::UsersController#index
  • over 4 years Updating causes unrelated NULL fields to become NOT NULL
  • over 4 years rails g administrate:install error
  • over 4 years Adding Custom Field Type - ChosenRails
  • over 4 years Viewing User Record: ActionView::Template::Error: undefined method `limit' for nil:NilClass
  • over 4 years Customizing for all resources doesn't work
  • over 4 years Search box not fitting into page layout
administrate open pull requests (View All Pulls)
  • Extract image field into a separate gem
  • Orm adapters
  • Path to custom attribute type partial updated in docs
  • Allow preloading has_many records
  • Inline controller's `permitted_attributes` method
  • Suggest spring disabling in README
  • update custom field generator to new form html structure
  • Doc on how to change resource labels in collections
  • Alternative view buttons while showing a resource
  • Name collission with Pundit.permitted_attributes fixed
  • Add arabic translations
  • Add extension point for custom styles.
  • Added rails generate administrate:dashboard
  • Integration with Globalize
  • Add support for selectable strings on edit pages
  • [WIP] Search Improvements
  • Use ActiveModel::Naming.route_key in sidebar link_to
  • Allow linkable element on row and shouldn't go to show page
  • Applies a margin-bottom to attribute labels
  • Support ordering belongs to fields
  • Ensure that collection rows are proper links
  • Allow customizing search fields with the SEARCH_ATTRIBUTES constant
  • Administrate::Search: ensure that column names are quoted
  • Allow customizing the layout's header
  • Associate fields with original resource
  • Started Rails 5 compatibility
  • Updated copyright notices to 2016 [ci skip]
  • Japanese locales
  • use before_action instead of before_filter
  • translate AR attributes in heading table if present. Use Kaminari's default per_page method
  • Add spacing below form buttons
  • Update .rubocop.yml to support latest version of config options
  • [#516] Fix error cannot run command rails generate administrate:install
  • Wrap unsupported form field notes in proper divs
  • Ignore routes marked `administrate: false`
  • Freeze generated constants
  • Add a link to release notes to the README
  • Add example of how to use a custom field
  • let routes generator indent all routes (#505).
  • mention home of .md guides in README (#503).
  • Update Rails =>
  • [#484] Fix views generator should pass args to sub-generator
  • Add options to DateTime field
  • Collection scopes
  • Add a test to verify that translated labels work
  • Updating has_many label to titleize as per other fields in form view.
  • Wrap table cell contents instead of CSS truncation
  • Add translations for additional strings
  • bump ruby to 2.2.4
  • remove the fuubar gem
  • bump rspec to 3.4
  • example on how to use custom file types
  • Use field file for images
  • Add a short section about how to report vulnerabilities
  • Fix translations for show.html and index.html
  • Modify has_many field show
  • Loosen normalize-rails required version
  • Update customizing_dashboards.md
  • =content_for :stylesheet
  • Fix LoadError for administrate/field/image
  • Fix #558 : Wrong constant name guess
  • Avoid generating invalid root route when there's no model
  • Make it easier to override variables
  • Feature scope option
  • Add a script for merging in PRs from repo forks
  • Fix `bin/release` script for pushing to rubygems
  • Handle running install generator where no admin resources defined
  • Abstract model classes should be skipped without warning.
  • Allow links to resources to be hidden from the sidebar
  • Change dashboard USAGE to README
  • Dev setup fixes
  • Use correct inflection for has-many counts of 1
  • Rails 5 Compatibility PR
  • Add engine class methods for registering assets
  • Feature/localized dates
  • Allow to limit route actions
  • Updated readme
  • Fix I18n translation for attributes in has_many collections
  • Update administrate.pt-BR.yml
  • Adding Portuguese locale
  • Upgrade `bourbon` to the latest and greatest
  • Update `Gemfile.lock`
  • Add Bourbon as a dependency
  • Javascript: Fix row-click handler
  • Rails 5
  • Cancel click event when it comes from an input
  • Support namespaced models
  • Update doc for customizing admin dashboard layouts
  • Normalize resource params
  • Upgrade Administrate to work with Rails 5
  • Improve model plural on index pages
  • Better use of i18n for field names
  • Allow specifying scope in with_options for a belongs_to field.
  • Use manifest for precompiling assets with Sprockets 4
  • Update Field::BelongsTo to accept limit option
  • Add missing multiplier option for number fields.
  • Update dashboard_generator.rb
  • bug: rails g administrate:install - shouldn't fill in config/route…
  • [Rails 5] Fix search partial
  • permit! params
  • Rails 5
  • Engine requires bourbon, fixes #615
  • Update Field .with_options Documentation
  • Default all labels to human_attribute_name instead of raw attr_name
  • Add support for namespaced models, resolve #179
  • Fix broken sort arrow svg in the resource table
  • Add instructions on how to add dashboards
  • administrate engine requires bourbon. fixes #615
  • Update customizing_dashboards.md
  • Fix inferred path issue w/name-spaced resources
  • Search Bar Display Logic
  • change generator controller::index pager
  • Docker-based development environment
  • I18n improvements
  • Add support for referencing the resource from fields.
  • Fix typo on pt-BR translation for polymorphic
  • Abstract model classes should be skipped without warning.
  • Allow rails 5.1 usage
  • Use Ruby Methods When Views are KO
  • Support for decorating resources
  • Add foreign key option to Fields
  • Show the total when paginating Field::HasMany
  • Add HasOne support as nested form
  • Remove Neat
  • Remove bourbon
  • Allow resource to be accessed from field (alternative implementation)
  • Add translations for additional strings
  • Rails 5.1
  • Handle case where `Field::HasMany` data is nil
  • Namespace Regex Refactor
  • Date and time fields
  • Add support for changing form field labels.
  • Update the Prototype App to Rails 5
  • Added Time Field
  • Fix hiding of search bar when none of searchable columns are used on index page
  • Add support for namespaced models
  • Remove dependency on remote images in tests
  • Merge pull request #1 from thoughtbot/master
  • Use default application timezone for datetime fields (#1069)
  • human_attribute_name instead of raw attr_name
  • number_field for Field::Number
  • Now you can tell administrate what dashboard class to use
  • Use associated_class to render belongs_to links
  • humanize has_many form label
  • Add additional Rubies using Workflows.
  • Move app/views/fields/ to app/views/administrate/fields/
  • Load huge result sets for belongs_to remotely
  • Make overriding index actions possible
  • Custom field search based on field type
  • Search through association fields
  • Add new password field
  • Render JavaScript in application layout head
  • Group multiple errors
  • Find routes config
  • No dashboard generation when NameError #960
  • Show errors when has_many restrict_with_error.
  • Collection filters
  • Sort has_many fields
  • Date and Time fields
  • Fix 'found unpermitted parameter: :orders' dynamically
  • Feature/custom sorting via options
  • Remove NameError rescue in page base
  • Translate resource name in index and new form titles, headers and buttons
  • More flexible searching
  • Custom field search
  • Update Field::Polymorphic doc to include order option
  • Use cross-DB way to cast search queries to strings
  • Use new_resource in new action
  • Implement overridable index actions
  • Exclude routes that start with namespace that are not in the namespace
  • Update Customizing Views docs with sidebar generator
  • Ew replace phantomjs with selenium
  • Ew move readme to special files
  • Increase percentage for attribute label
  • Add min-width to main-content
  • Ew fix windows symlink issue
  • I had a name change.
  • Punditize add support for namespaced models and base policy fallbacks
  • Add Field::RichText
  • Add YARD for inline documentation
  • Automatic associations
  • Add CSP tags to default layout
  • Fix display resource name plural singular & localisation
  • Allow translating resource names in CRUD messages
  • [QoL fix] Added SCSS imports
  • Add Field::CollectionSelect
  • Update Ruby version
  • Use left joins instead of inner join when searching
  • Cache Appraisal dependencies across CI builds
  • Test against Ruby 2.7 on CircleCI
  • Action-specific models
  • Add action text field
  • Add webpacker
  • Remove 'LOWER' in search query and cast only for numbers
  • Migrate to use System Tests
  • Adds options for quick search filter
  • Fix collection filters example in dashboard template
  • UUID's should be rendered Field::String
  • Add word-break to attribute-data
  • Allow Authorization with Pundit Policy Namespacing
  • Change response by request format
administrate questions on Stackoverflow (View All Questions)
  • Administrate Gem On Heroku
  • Setting the Admin in Administrate Gem Rails
  • Programs for creating, design and administrate(GUI) SQLite
  • How can I make new a "system" and administrate them
  • In Microsoft Windows, Can I administrate the Java Runtime Setting by script?
  • How to administrate a sinopia server (private npm registry)?
  • administrate multiple databases Sonata Admin Bundle
  • Web-service-API to administrate Exchange-Accounts
  • web based gui for administrate mysql by super user
  • What is the "standard method" for administrate this Wordpress layout?
  • How to administrate Strategy Pattern behaviors at runtime?
  • Administrate facebook application via graph api
  • Execute a command line on the command prompt needs `administrate privilege` even using "ranas"?
  • Wordpress: How to administrate Background-Image and Content Slide
  • How to span child process with administrative privileges from parent process with administrate privileges in C#?
  • How to get the app account access token needed to administrate app album?
  • Unable to Administrate Facebook Comments Plugin
  • Administrate a SQL Server 2000 database from Windows and Change a whole column
  • Subversion: good practices to administrate users and groups with the repositories
  • Any foundation to administrate an Android open source application?
  • Can SQL Server Express be used to effectively administrate a SQL Server Standard/Enterprise installation?
  • Software to Administrate Network Connections
administrate list of languages used
administrate latest release notes
v0.14.0 0.14.0
  • [BUGFIX] [#1695] Fix local development by keeping tmp/pids around.
  • [DOC] [#1679] Any view can be replaced, not only from generators.
  • [BUGFIX] [#1690] Restore destroy functionality.
  • [OPTIM] [#1687] Remove usages of protected visibility.
  • [BUGFIX] [#1672] Fix time fields default to 8pm.
  • [FEATURE] [#1591] Check if routes can be shown in navigation.
  • [FEATURE] [#1655] Detect enum fields as Selects rather than as Strings.
  • [FEATURE] [#1648] Recursively handle polymorphic parameters.
  • [FEATURE] [#1644] Allow overriding default sorting.
  • [OPTIM] [#1649] Use singular resource name for error explanation.
  • [I18n] [#1651] Translate Back to app label.
  • [FEATURE] [#1646] Allow for label/value setting in Field::Select collection.
  • [UI] [#1620] Dry up flashes SCSS and remove unused variables.
  • [COMPAT] [#1618] Remove jQuery ujs.
  • [FEATURE] [#1203] Support for searching over multiple fields.
  • [DOC] [#1621] Add Appraisal install to the setup script.
  • [I18n] [#1604] Use proper translation for clear I18n key in nl.
  • [BUGFIX] [#1596] Render all records allowed by the authorization scope.
  • [FEATURE] [#1589] Allow collections to accept proc as value.
  • [FEATURE] [#1579] Allow controllers without a related model.
  • [OPTIM] [#1097] Use new_resource in new action.
  • [UI] [#1557] Provide more natural tabbing across rows in table.
  • [BUGFIX] [#1574] Fix non defined root_url bug.
  • [I18n] [#1165] Change Albanian two-letter code to sq as per ISO 639-1.
  • [BUGIFX] [#1576] Simplify detection of associative fields.
  • [FEATURE] [#1569] Allow tables which are not named after models.
  • [FEATURE] [#1566] Enable Selectize for BelongsTo.
  • [FEATURE] [#1398] Support association search for other types of association fields.
v0.13.0 0.13.0

NOTE: This release contains the fix for CVE-2020-5257, which fixes a potential SQL injection on dashboard sorting.

  • [SECURITY] Fix Sort order SQL injection.
  • [BUGFIX] [#1561] Fix very narrow nested fields.
  • [BUGFIX] [#1565] Fix unterminated single quote.
  • [UI] [#1537] Provide tags for doc pages.
  • [BUGFIX] [#1552] Use the correct foreign key when sorting belongs_to associations.
  • [FEATURE] [#1551] More readable warnings.
  • [FEATURE] [#1512] Avoid confusion with class methods and protected/private modifiers.
  • [FEATURE] [#1513] Accessible from templates; avoids having to create new field types.
  • [UI] [#1536] Declare doctype, language and charset.
  • [DOC] [#1540] Add new Date field to docs.
  • [FEATURE] [#1530] Include Date Field.
  • [BUGFIX] [#1522] Align label and data on show page.
  • [FEATURE] [#1521] Expose required fields on form.
  • [DOC] [#1531] Remove project level rubocop.yml.
  • [DOC] [#1534] Move documentation of how to disable some actions on controller.
  • [UI] [#1524] Hide resources without index in the navigation.
  • [DOC] [#1523] Update screenshot.
  • [UI] [#1376] Add a back link to the navigation.
  • [DOC] [#1187] Update comment with new namespace.
  • [DOC] [#1514] Rewrite the contributing guide.
  • [BUGFIX] [#1495] Attempt to fix random CI failures.
  • [BUGFIX] [#1507] Remove query from link, to avoid triggering banned params.
  • [DOC] [#1479] Document controller APIs.
  • [COMPAT] [#1475] Allows running specs individually.
  • [UI] [#1484] Double-click to select attribute text.
  • [DOC] Configure GitHub Sponsors.
  • [COMPAT] [#1457] Fix PhantomJS test behaviour on Linux.
  • [BUGFIX] [#920] Remove NameError rescue in page base.
  • [BUGFIX] [#1447] Don't pass raw SQL when changing sort order.
  • [FEATURE] [#1452] Support Sprockets 4.
  • [DOC] [#1426] Add issue templates.
v0.12.0 0.12.0
  • [COMPAT] [#1331] Drop active_job from the dependencies.
  • [COMPAT] [#1402] Upgrade to Rails 6.
  • [COMPAT] [#1402] Drop support for Ruby 2.4.
  • [COMPAT] [#1406] Use Zeitwerk for loading models in Rails 6.
  • [i18n] [#1400] Fix unusable expressions and wrong spacing in Korean.
  • [BUGFIX] [#1285] Added icons to copied templates.
  • [DOC] [#1378] Break Rails API documentation out to it's own page.
  • [DOC] [#1379] Document using a custom namespace.
  • [COMPAT] [#1377] AR models should inherit from ApplicationRecord.
  • [FEAT] [#947] Add search filters to dashboards.
  • [BUGFIX] [#1394] Fix loading of Punditize.
  • [i18n] [#1362] Fix spanish locale.
  • [BUGFIX] [#1336] Run a subset of appraisals fro Ruby 2.4.
  • [BUGFIX] [#1334] Fix warning message related to 'text-decoration-skip: ink'.
  • [BUGFIX] [#1334] Fix warning message related to Faker::LordOfTheRings.
  • [DOC] [#1310] Fix typo: polymporphic -> polymorphic.
  • [COMPAT] [#1197] Switch to sassc-rails.
  • [BUGFIX] [#1320] Patch Rails 4.2 tests to work with Ruby 2.6.
  • [COMPAT] [#1318] Drop support for Ruby 2.2, 2.3.
  • [BUGFIX] [#1290] Fix generator for non-association/columnar attrs.
  • [FEAT] [#1262] Introduce Fields::Url.
  • [BUGFIX] [#1268] Fix multiple association pagination.
  • [i18n] [#1239] Translate form error keys in chinese.
  • [FEAT] [#1176] Support for other types of association fields.
  • [DOC] [#1214] Adds missing colon to :name in Rails API docs.
Other projects in Ruby
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark