管理画面の作成に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リンクが表示されているはずです。
このように管理が必要なテーブルを作成していきます。カスタムが必要な場合は、変更も可能です。
以上です。
参考サイト
0 件のコメント:
コメントを投稿