RailsAdmin

Build Status Dependency Status Code Climate Pledgie Flattr

RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data.

It started as a port of MerbAdmin to Rails 3 and was implemented as a Ruby Summer of Code project by Bogdan Gaza with mentors Erik Michaels-Ober, Yehuda Katz, Luke van der Hoeven, and Rein Henrichs.

Announcements

RailsAdmin model configuration is now lazy loaded.

config.model 'Team' do
  ...
end

# or
class Team
  rails_admin do
    ...
  end
end

won't load the Team model.

Incidentally, you are only allowed one configuration block per model.

Features

  • Display database tables
  • Create new data
  • Easily update data
  • Safely delete data
  • Custom actions
  • Automatic form validation
  • Search and filtering
  • Export data to CSV/JSON/XML
  • Authentication (via Devise)
  • Authorization (via Cancan)
  • User action history (internally or via PaperTrail)
  • Supported ORMs
    • ActiveRecord
    • Mongoid [new]

Demo

Take RailsAdmin for a test drive with sample data. (Source code.)

Installation

In your Gemfile, add the following dependencies:

gem 'fastercsv' # Only required on Ruby 1.8 and below
gem 'rails_admin'

Run:

$ bundle install

And then run:

$ rails g rails_admin:install

This generator will install RailsAdmin and Devise if you don't already have it installed. Devise is strongly recommended to protect your data from anonymous users. Note: If you do not already have Devise installed, make sure you remove the registerable module from the generated user model.

It will modify your config/routes.rb, adding:

mount RailsAdmin::Engine => '/admin', :as => 'rails_admin' # Feel free to change '/admin' to any namespace you need.

Note: The devise_for route must be placed before the mounted engine. The following will generate infinite redirects.

mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
devise_for :admins

This will resolve the infinite redirect error:

devise_for :admins
mount RailsAdmin::Engine => '/rails_admin', :as => 'rails_admin'

See #715 for more details.

It will also add an intializer that will help you getting started. (head for config/initializers/rails_admin.rb)

Finally run:

$ bundle exec rake db:migrate

Optionally, you may wish to set up Cancan, PaperTrail, CKeditor, CodeMirror

More on that in the Wiki

Usage

Start the server:

$ rails server

You should now be able to administer your site at http://localhost:3000/admin.

Configuration

All configuration documentation has moved to the wiki: https://github.com/sferik/rails_admin/wiki

Screenshots

Dashboard view Delete view List view Nested view Polymorphic edit view

Support

If you have a question, please check this README, the wiki, and the list of known issues.

If you still have a question, you can ask the official RailsAdmin mailing list.

If you think you found a bug in RailsAdmin, you can submit an issue.

Supported Ruby Versions

This library aims to support and is tested against the following Ruby implementations: