58
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails管理画面gem の新星!administrate を使おう - その0 紹介

Last updated at Posted at 2016-02-28

Railsで管理画面をサクッと作るgem達!沢山ありますよね!
みなさんどんなのを使っているんでしょう・・

Qiitaで管理系gem情報を検索

↑わかりすい!

やっぱ・・みんな使ってるっぽいactive_adminとか・・安心でいいかな〜
でもDSL使いにくそうだな〜〜・・・と悩んで、いたところ「Administrateなんてどう〜?」と天の声が。。

どれどれ・・

お〜なんかいい感じ!!

使ってみた〜い!!
・・・と、Rails初心者がpre1.0のgemに突撃!

先に進む前に注意点!!!

Note: Administrate is still pre-1.0, and there may be occasional breaking changes to the API.

↑公式ドキュメントにもハッキリ書いてある通り、pre1.0なので、大きなAPI変更があるかもしれません。
・・ということで、ハマる覚悟がある人は突き進んで下さい。

この文書の注意点!!!

  • すっげ〜苦労した軌跡をメモります
  • pre1.0のハマりどころの認識が浅い初心者が突き進んだ結果のログです
  • 本記事記載時のバージョンは Administrate v0.1.3 です
  • 「お、いいかも!使ってみようかな?」と思った方に少しでもお役に立てる記事を目指しています
  • ・・・が間違っている点や、gemのAPI変更が発生する可能性有なので、ご注意を・・

Administrateのいいところ

  • ModelのCRUDサクッとできる!
  • モダンな見た目

image

Administrateの基本方針

利点、gemの生まれた経緯などは、こちらの作者さんたちのブログポストに記載されています。

Announcing Administrate

とてもざっくり意訳すると・・

他の管理系gemの問題点

  • Active Admin や RailsAdmin なんかの、既製のAdminツールは良いんだけど、一般的な用途向きすぎで、結局ちょっとボタンを足したりとかのカスタマイズが面倒
  • おまけにそのカスタマイズにはgem独自のDSLを覚えないといけなくて面倒

Administrateの解決方法!

  • DSLなし!
  • 開発者にいつものやり方(普通のRailsのcontroller, view)でデフォルトの上書きできるようにする!
  • ライブラリを小さく維持(コアコンポーネント、プラグインを分離)
例えば・・・
  • ログイン認証は含まれていない(簡単にauthentication methodをカスタマイズできる)
  • 地図を表示したい?そんな時はカスタムフィールド(とパーシャルビュー)を追加!
  • パスワードリセットさせるボタンを置きたい?そんな時はパーシャルビューにリンクを追加!コントローラーにカスタムアクションを追加!

だそうです。
どうです?なんか良さそうでしょ??

Administrate のイマイチなところ

・・と思って飛びついてみたんですが・・・

  • 新しすぎなのでまだ足りないものがある
  • 日本語情報がまったくない

という罠があります。

以下、いろいろ頑張った

ハマったところを別記事で書いていきます!
日本語での便利紹介記事がない時の、『知らないgemの歩き方 - どこから探っていくか』も合わせて紹介します。

その1:まずは導入!

Rails管理画面gem の新星!administrate を使おう - その1 導入 - Qiita

その2:基本的なカスタマイズ方法について

さらっと触っただけで、早速以下の項目がカスタマイズ対象でした。。

  • パスワードフィールドがない(comming soon)
  • セレクトボックスがない
  • 日本語のローカライズPRがまだリリースに取り込まれてない(comming soon)

カスタマイズしやすい!と謳われているAdministrateの実力やいかに・・

Rails管理画面gem の新星!administrate を使おう - その2 基本カスタマイズ - Qiita

その3:他のgemと連携

連携お相手のgemのことがちゃんとわかってればサクッとできる。
(わかってなかったので苦戦・・)

  • 認証 : devise
  • タグ付け:act_as_taggable_on
  • 画像アップロード:paperclip
  • ページネーション:kaminari

Rails管理画面gem の新星!administrate を使おう - その3 有名Gemと連携 - Qiita

その4:もっともっとカスタマイズ!(ハードル高かった)

TODO : Rails管理画面gem の新星!administrate を使おう - その4 もっとカスタマイズ!

  • Polymorphic関連
  • 親子モデルをサクッと作れるようにすること

現状Polymorphic関連はサポートされてないが、Polymorphic関連がどう表現されてるかを理解すれば回避可能。
デフォルトのnew画面の使いづらいところを改善!


全然記事本文と関係ないけど・・
Qiita の記事の見出しに Font-Awesome を利用して見栄えを良くする #qiita - Qiita
やってみた。
なんか見栄え良くなった気がする!

58
63
1

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
58
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?