LoginSignup
8
22

More than 5 years have passed since last update.

[rails5.2] Active Adminの導入

Last updated at Posted at 2018-05-19

Active Adminを利用してみました。導入手順を残しておこうと思います。

環境

Rails 5.2.0
ruby 2.5.1
mysql 5.7.20

 まず

Gemfile
gem 'activeadmin'

※deviseはすでにインストール済みです

Install

管理ユーザーのモデルを今回は「ActiveAccount」として作成したいと思います。

$ bundle install
$ bin/rails g active_admin:install --skip-users # オプションはadminuserを作成しない
      create  config/initializers/active_admin.rb
      create  app/admin
      create  app/admin/dashboard.rb
       route  ActiveAdmin.routes(self)
    generate  active_admin:assets
   identical  app/assets/javascripts/active_admin.js.coffee
   identical  app/assets/stylesheets/active_admin.scss
      create  db/migrate/20180518132718_create_active_admin_comments.rb

# 管理ユーザーのモデルの作成
$ bin/rails g active_admin:install AdminAccount
      invoke  devise
    generate    No need to install devise, already done.
      invoke    active_record
      create      db/migrate/20180518133149_devise_create_admin_accounts.rb
      create      app/models/admin_account.rb
      invoke      rspec
      create        spec/models/admin_account_spec.rb
      invoke        factory_bot
      create          spec/factories/admin_accounts.rb
      insert      app/models/admin_account.rb
       route    devise_for :admin_accounts
        gsub    app/models/admin_account.rb
        gsub    config/routes.rb
      append    db/seeds.rb
    conflict  config/initializers/active_admin.rb
Overwrite /Users/sakai/sakaibox/railsApps/blog/config/initializers/active_admin.rb? (enter "h" for help) [Ynaqdh] n #active_admin.rbは上書きしない
        skip  config/initializers/active_admin.rb
       exist  app/admin
   identical  app/admin/dashboard.rb
      create  app/admin/admin_accounts.rb
      insert  config/routes.rb
    generate  active_admin:assets
   identical  app/assets/javascripts/active_admin.js.coffee
   identical  app/assets/stylesheets/active_admin.scss
   identical  db/migrate/20180518132718_create_active_admin_comments.rb

ActiveAdminの設定ファイルを変更

今回は管理者ユーザーモデルを「AdminAccount」として作成しているので
下記のように修正します。

config/initializers/active_admin.rb
- config.authentication_method = :authenticate_admin_user!
+ config.authentication_method = :authenticate_admin_account!
- config.current_user_method = :current_admin_user
+ config.current_user_method = :current_admin_account
- config.logout_link_path = :destroy_admin_user_session_path
+ config.logout_link_path = :destroy_admin_account_session_path

管理画面のURLの変更

デフォルトでの管理画面のURLは admin/xxx(admin/login、admin/logout等)に設定されているが
下記で変更可能です。

config/initializers/active_admin.rb
# config.default_namespace = :admin
config.default_namespace = :admin_login
# 確認
$ bin/rake routes
$ bin/rake db:migrate

# db/seeds.rbのデフォルトのユーザの記載があるので管理ユーザーを作成します。
$ bin/rake db:seed

確認

$ bin/rails s

参考

Active Admin
Railsで最速で管理画面を作る!

8
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
22