Rails4:ActiveAdminを使って管理画面を作成する

1. Gemfileにactiveadminを追加する

# Gemfile
gem 'activeadmin', github: 'gregbell/active_admin'
$ bundle install

2. active_adminをインストールする

$ rails generate active_admin:install

admin_users用とactive_admin_comments用の2つのマイグレーションファイルが生成される。 20141005060111_create_active_admin_comments.rb 20141005060107_devise_create_admin_users.rb

$ rake db:migrate

3. 管理画面にログインする

一旦サーバーを落として、

$ rails server

http://localhost:3000/adminにアクセスすると管理画面のログイン画面が表示される。

f:id:kgmx:20141006102740p:plain

初期ユーザーのメールアドレスとパスワードでログインする。

User: admin@example.com
Password: password

私は自分用にユーザーを作って、初期ユーザーはブラウザから削除しました。

$ rails console
irb(main):001:0> AdminUser.create!(:email => 'myemail@gmail.com', :password => 'mypassword', :password_confirmation => 'mypassword')

これでユーザーID = 2のアカウントを作成することができました。

共同開発をしている場合は、db/seed.rbに書いて、./bin/rake db:seedを実行してもよいかもしれません。

4. 管理対象のモデルを追加する。

例えばBookというモデルを管理したい場合。

$ rails generate active_admin:resource Book

Bookを投稿したUserも管理したいので、

$ rails generate active_admin:resource User

こんな感じです。

5. 管理画面からBookをEdit,Deleteする

自分で設定を記述していないとDeleteはできるけどEditができないのです。

これで「管理画面」のひと通りの機能は果たしてくれるようになる!