Railsライブラリ紹介: 管理機能を自動生成する「rails_admin」

こんにちは、鈴木です。

管理機能を手軽に作成することができるライブラリ rails_admin をご紹介します。

 

 

rails_admin の導入

Gemfile に以下の行を追加します。

bundle install します。

エラーが出ました。

libxml2 が必要と言っているのでインストールします。

bundle install します。

エラーが出ました。

今度は libxslt が必要なのだとおっしゃっているのでインストールします。

bundle install します。

インストールに成功しました。

 

セットアップ

セットアップします。

様子を見ます。

認証ライブラリである devise が必要であるがインストールされていないので、Gemfile に devise を追加して、インストールすると言っています。

しかし上手く行かなかったので、手作業で「bundle install」するようにと言っています。

一旦 Ctrl+C で中止して、「bundle install」を実行します。

devise のインストールができたので、もう一度セットアップします。

今度は上手くいくでしょうか。

管理機能の URL (パス)を決めます。

ここではデフォルトの 「admin」のまま進みます。

ルーティングに /admin 以下が RailsAdmin::Engine で処理する設定が追加されたようです。

今度は管理機能のログインユーザを表すモデルを決めます。

デフォルトの「user」で進みます。

マイグレーションがいくつか生成されているので、実行します。

セットアップが完了しました。

 

テスト用のログインアカウントを作成する

rails console でテスト用のログインアカウントを作成します。

User を作成します。

 

管理機能にログインする

rails server でサーバを起動し、 http://localhost:3000/admin/ にアクセスすると、ログイン画面が表示されます。

rails_admin-01

「translation missing: ja.devise.failure.user.unauthenticated」と表示されていますが、ロケールファイルに追加すれば良いので、ここでは気にしません。

テスト用に作成したアカウントでログインしましょう。

rails_admin-02

ダッシュボードが表示されます。

まずまず綺麗にまとまっていますね。

棒グラフの部分はアニメーションしながらニョキニョキ伸びました。

各モデルのページを表示すると、単純な CRUD ができるだけではなく、

  • belongs_to での関連を設定したモデルへリンクされている
  • 好きなカラムで検索できる
  • データのエクスポート機能がある

など、機能が豊富です。

 

日本語化

ひとまず動くようになりましたが、日本語化ができていないので、対応します。

rails_admin の WikiTranslations で、日本語ロケールファイルが紹介されていました。

 

  • https://gist.github.com/1662352#file_rails_admin.ja.yml

 

上記ページからファイルをダウンロードし、config/locales/rails_admin.ja.yml として保存します。

サーバを再起動してもう一度画面を表示すると、メッセージ等が日本語で表示されるようになりました。

 

まとめ

rails_admin を使ってみて、機能は豊富であり、見た目のまずまず綺麗だなと感じました。

管理機能のユーザが自分だけ(もしくはごく限られた人だけ)であれば、rails_admin を入れるだけで十分という場合も多いかもしれません。

「管理機能を楽して作りたいけど、どのライブラリを使うか迷っている・・」という方は rails_admin を試してみてはいかがでしょうか。

 

Comments are closed, but you can leave a trackback: Trackback URL.