管理画面に必要なファイルをgenerateするgemです
管理画面を作るgemといえば、activeadminとかあると思うんですが、基本的な使い方から外れてちょっとカスタマイズしようとすると、調べないといけなくて1人で高速にサービスを作るには向いていないと思っています。
でもさくっと軽い管理画面を作りたい、という気持ちがあったのでrails generatorを使って管理画面に必要なcontroller
, routes
, view
を生成するgem を作りました。
https://rubygems.org/gems/admin_generator
認証には、sorcery を使っています。
Gemfile にgem 'admin_generator'
を追加してからbundle install
後にbundle exec rails g admin_generator:admin install
を実行すると下記出力を吐いて各種ファイルを生成します。
rails server を再起動したのちに /admin
にアクセスするとログイン画面がでてきます。
予めUser.create(email: 'hoge@hoo.com', password: 'hoo')
みたいな感じでレコードを作成しておくとログインができると思います。
$ bundle exec rails g admin_generator:admin install
Running via Spring preloader in process 77693
gemfile sorcery
exist app/controllers
create app/controllers/admin/base_controller.rb
create app/controllers/admin/home_controller.rb
create app/controllers/admin/sessions_controller.rb
exist app/views
create app/views/admin/home/index.html.slim
create app/views/admin/sessions/new.html.erb
create app/views/layouts/admin/application.html.erb
generate sorcery:install
Running via Spring preloader in process 77756
create config/initializers/sorcery.rb
generate model User --skip-migration
Running via Spring preloader in process 77758
invoke active_record
create app/models/user.rb
insert app/models/user.rb
insert app/models/user.rb
create db/migrate/20170528060036_sorcery_core.rb
generate sorcery:install
Running via Spring preloader in process 77768
gsub config/initializers/sorcery.rb
insert app/models/user.rb
create db/migrate/20170528060040_sorcery_activity_logging.rb
create db/migrate/20170528060041_sorcery_brute_force_protection.rb
route namespace :admin do
root 'home#index'
resource :sessions, only: %i(create)
get 'login' => 'sessions#new', as: :login
get 'logout' => 'sessions#destroy', as: :logout
end
以上。
-
category:
- rails