管理画面を作ろう - satococoa/api-tutorial GitHub Wiki

管理画面を作るには rails_admin という gem を使うと簡単です。

rails_admin は標準で Devise というユーザ認証用の gem を使うのですが、ちょっと複雑になってしまうのでシンプルに Basic 認証で実装します。

rails_admin インストール

  1. Gemfilegem 'rails_admin' を書き足し、bundle コマンドを実行
  2. rails g rails_admin:install --skip-devise を実行
  3. rake db:migrate を実行

サーバを起動し、/adminにアクセスするとダッシュボードにアクセスできます。

Basic 認証をかける

config/initializers/rails_admin.rb を以下のように編集

# (snip...)
RailsAdmin.config do |config|

### ここから
  config.authorize_with do
    authenticate_or_request_with_http_basic('Admin page') do |username, password|
      username == 'admin' && password == 'password'
    end
  end
### ここまで追加

  ################  Global configuration  ################
# (snip...)

サーバを再起動して /admin にアクセスすると、ID/password を求めるようになります。

ルートにアクセスした際に管理画面を表示する

http://localhost:3000/ にアクセスしたときに管理画面を表示するようにします。(API のみのサーバのため)

以下を config/routes.rb に書き加えます。

Bbs::Application.routes.draw do
  mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
  root to: 'rails_admin/main#dashboard' # この一行を追加
# (snip...)

サーバを再起動し、http:/localhost:3000/ にアクセスすると管理画面が出るはずです。