この手のものはrails_admin、Active Adminなどが有名ですが、
DSLを覚える必要があったり色々癖があって選択が難しいです。
どれを選ぼうか迷っていたら、thoughtbot/administrate というものを見つけました。
paperclip、factory_girlなどで有名な thoughtbot社製で、DSL不要とのこと。
ちょっと使ってみたところ、なかなか使い勝手が良く気に入りました。
How to use it
コマンド一発で各種ファイルをadmin以下に生成してくれます。これでもう使えてしまいます。
$ rails generate administrate:install
新しいモデルを作成して途中で追加する場合は、以下を実行すれば良いです。
$ rails generate administrate:dashboard Foo
あとは config.routes にresourcesを追加するだけ。
Rails.application.routes.draw do namespace :admin do resources :players resources :foos end end
こんな感じです。
関連テーブルもリンクが生成されますし、selectで表示したり、truncateしたりというのも可能です。
Costomize
この辺りにまとまっています。 https://administrate-prototype.herokuapp.com
dashboard
dashboard というファイルに 項目の表示する型を定義し、画面ごとにどの項目を表示するかという設定がhash/arrayでできます。
ここで表示させたいものを表示させたい順に定義するだけで、画面の表示内容が変わります。非常に簡単で良いです。
デフォルトは項目が絞られているので、ここの修正は必須です。
custom field type
Gravatorのアイコンを表示させるみたいなのは、custom field type として作成しておけば、dashboardで指定するだけで使えます。
https://administrate-prototype.herokuapp.com/adding_custom_field_types
css/js
issueに記載がありました。
How to add custom CSS? · Issue #748 · thoughtbot/administrate
# config/initializers/administrate.rb Administrate::Engine.add_stylesheet('your_stylesheet_name')
asset pipelineに乗せるなら、以下。
# config/initializers/assets.rb Rails.application.config.assets.precompile += %w(your_stylesheet_name.css)
ちなみに
各種Gemのdownload数は、
$ gem-search -e rails_admin Searching . NAME DL(ver) DL(all) HOMEPAGE -------------------------------------------------- -------- --------- ------------------------------------------------------------ rails_admin (1.1.1) 81127 1354125 https://github.com/sferik/rails_admin $ gem-search -e activeadmin Searching . NAME DL(ver) DL(all) HOMEPAGE -------------------------------------------------- -------- --------- ------------------------------------------------------------ activeadmin (1.0.0) 6073 2105976 http://activeadmin.info $ gem-search -e typus Searching . NAME DL(ver) DL(all) HOMEPAGE -------------------------------------------------- -------- --------- ------------------------------------------------------------ typus (3.1.10) 11001 152308 http://www.typuscmf.com/ $ gem-search -e administrate Searching . NAME DL(ver) DL(all) HOMEPAGE -------------------------------------------------- -------- --------- ------------------------------------------------------------ administrate (0.6.0) 642 139972 https://administrate-prototype.herokuapp.com/
activeadmin 圧勝。