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