RailsAdminを使って管理者機能を実装
RailsAdminとは
管理画面をテンプレート的に作成できるgemの一つです。
railsにはたくさんの管理画面を実装できるgemがありますが、中でも簡単でデザインがとてもスタイリッシュだったので、RailsAdminのgemを使ってみることにしました。
参考 : rails管理画面系gem比較してみた - Qiita
RailsAdminの使用方法
まず最初にGemfileにrails_adminを追加してbundle install
を行います。
gem 'rails_admin'
generatorを起動させます。
$ rails g rails_admin:install
? Where do you want to mount rails_admin? Press <enter> for [admin] >
と聞かれるのでenter
を入力します。するとルーティングとrails_admin.rbファイルが追加されます。rails s
を起動して、localhost:3000/admin
を開くと管理画面に遷移します。
Hiroshiというアプリに事前にAlbums、Books、Dramas、Movies、Stagesというテーブルを作成してあります。それぞれいくつかデータが入っている状況です。
ここでデータの追加や編集、削除などの操作をすることができます。
しかし今のままでは、誰でも管理画面にアクセスできてしまうので、セキュリティ的に問題があります。なのでBASIC認証(ユーザー名、パスワード認証)をかけていきます。
次のコードをrails_admin.rbファイルの一番上に追加します。
config/initializers/rails_admin.rb config.authenticate_with do authenticate_or_request_with_http_basic('Site Message') do |username, password| username == 'admin' && password == 'password' end end
username == 'admin' && password == 'password'
の部分は実際に使用するユーザー名とパスワードになります。
再度rails s
でサーバーを起動して、localhost:3000/admin
にアクセスすると、パスワード入力画面になります。