管理画面の作成にActive Adminを使ったのでメモ
環境はruby-1.9.3-p0, rails3.2.2, postgresです。
難易度★★★☆☆
Active Adminは、railsのプロジェクトで管理画面を作成します。
以下手順です。
Gemfile記述
gem "activeadmin"
gem 'sass-rails'
gem "meta_search", '>= 1.1.0.pre'
install
rails g active_admin:install
以下が出力
invoke devise
generate devise:install
create config/initializers/devise.rb
create config/locales/devise.en.yml
===============================================================================
Some setup you must do manually if you haven't yet:
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
In production, :host should be set to the actual host of your application.
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root :to => "home#index"
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<%= notice %>
<%= alert %>
4. If you are deploying Rails 3.1 on Heroku, you may want to set:
config.assets.initialize_on_precompile = false
On config/application.rb forcing your application to not access the DB
or load models when precompiling your assets.
===============================================================================
invoke active_record
create db/migrate/20120722192139_devise_create_admin_users.rb
create app/models/admin_user.rb
invoke rspec
create spec/models/admin_user_spec.rb
insert app/models/admin_user.rb
route devise_for :admin_users
gsub app/models/admin_user.rb
gsub config/routes.rb
insert db/migrate/20120722192139_devise_create_admin_users.rb
create config/initializers/active_admin.rb
create app/admin
create app/admin/dashboards.rb
route ActiveAdmin.routes(self)
generate active_admin:assets
create public/javascripts/active_admin.js
create public/images/active_admin
create public/images/active_admin/admin_notes_icon.png
create public/images/active_admin/datepicker/datepicker-header-bg.png
create public/images/active_admin/datepicker/datepicker-input-icon.png
create public/images/active_admin/datepicker/datepicker-next-link-icon.png
create public/images/active_admin/datepicker/datepicker-nipple.png
create public/images/active_admin/datepicker/datepicker-prev-link-icon.png
create public/images/active_admin/loading.gif
create public/images/active_admin/nested_menu_arrow.gif
create public/images/active_admin/nested_menu_arrow_dark.gif
create public/images/active_admin/orderable.png
generate jquery:install --ui
remove public/javascripts/prototype.js
remove public/javascripts/effects.js
remove public/javascripts/dragdrop.js
remove public/javascripts/controls.js
copying jQuery (1.7.2)
identical public/javascripts/jquery.js
identical public/javascripts/jquery.min.js
copying jQuery UI (1.8.18)
create public/javascripts/jquery-ui.js
create public/javascripts/jquery-ui.min.js
copying jQuery UJS adapter (caabad)
remove public/javascripts/rails.js
identical public/javascripts/jquery_ujs.js
rake bourbon:install
create public/stylesheets/sass/_bourbon.scss
create db/migrate/20120723042152_create_admin_notes.rb
create db/migrate/20120723042153_move_admin_notes_to_comments.rb
deviseなんかも勝手に入ります。認証周りをdeviseに移行したい衝動に駆られるが無視。
エラーメッセージ対応
このままweblickを立ち上げるとエラーメッセージが出力されるので、config/application.rbに以下のおまじないを記述
config.i18n.locale = :ja
さらにdevise.ja.ymlが必要です。devise.ja.ymlは/config/localesに配置します。ここのサイトからdevise.ja.ymlをダウンロードします。
config.i18n.locale = :ja
準備完了です。サーバーを立ち上げて、domain/adminで接続すると管理画面が表示されます。devise_create_admin_users.rbに記述してあるメールアドレスとパスワードでログインします。
ログインが出来て、ダッシュボードに遷移できれば成功です。あとは、必要なテーブルの管理画面を作成していきます。
サンプルとしてUsersテーブルの管理画面を作成してみましょう。
rails g active_admin:resource users
再びサーバーを立ち上げて、管理画面にログインしましょう。ダッシュボードにUsersリンクが表示されているはずです。
このように管理が必要なテーブルを作成していきます。カスタムが必要な場合は、変更も可能です。
以上です。
参考サイト
この記事がお役にたちましたらシェアをお願いします