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.
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.
- 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]
Take RailsAdmin for a test drive with sample data. (Source code.)
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
Start the server:
$ rails server
You should now be able to administer your site at http://localhost:3000/admin.
All configuration documentation has moved to the wiki: https://github.com/sferik/rails_admin/wiki
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.
This library aims to support and is tested against the following Ruby implementations: