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サクッとできる!
- モダンな見た目
Administrateの基本方針
利点、gemの生まれた経緯などは、こちらの作者さんたちのブログポストに記載されています。
とてもざっくり意訳すると・・
他の管理系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
やってみた。
なんか見栄え良くなった気がする!