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
にアクセスすると管理画面のログイン画面が表示される。
初期ユーザーのメールアドレスとパスワードでログインする。
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ができないのです。
これで「管理画面」のひと通りの機能は果たしてくれるようになる!