Rails3 で管理画面を作成するなら RailsAdmin で決まりかもに沿ってやってみたけど、ちょこちょこ躓いたのでメモ。
deviseは2.1.2、rails_adminは0.0.5。
gem 'devise'
gem 'rails_admin'
ここでは管理者のモデルをAdmin
とする。まずはdeviseでこれを作る。
$ bundle install
$ rails g devise Admin
$ vim app/models/admin.rb
- devise :database_authenticatable, :registerable,
- :recoverable, :rememberable, :trackable, :validatable
+# devise :database_authenticatable, :registerable,
+# :recoverable, :rememberable, :trackable, :validatable
$ vim config/routes.rb
- devise_for :admins
+# devise_for :admins
$ rake db:migrate
これでadmins
テーブルができた。
続けてrails_adminを導入する。
$ rails g rails_admin:install
$ vim app/models/admin.rb
-# devise :database_authenticatable, :registerable,
-# :recoverable, :rememberable, :trackable, :validatable
+ devise :database_authenticatable, :registerable,
+ :recoverable, :rememberable, :trackable, :validatable
マウントする前にdeviceに登録するようにルーティングを調整。
$ vim config/routes.rb
+ devise_for :admins
mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
-
-# devise_for :admins
$ rake db:migrate
$ open http://127.0.0.1:3000/admins/sign_up
ユーザの登録が終わったら:registerable
を外す
$ vim app/models/admin.rb
- devise :database_authenticatable, :registerable,
+ devise :database_authenticatable,