【Rails】ActiveAdmin
ActiveAdminをインストール
手順
①Gemfileに記入
gem 'devise' gem 'activeadmin', github: 'activeadmin'
②プロジェクトにインストール
$ bundle install $ rails g active_admin:install
③インストール時に出た警告を修正
config/environments/development.rb
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config/routes.rb
root to: "home#index
app/views/layouts/application.html.erb
<p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p>
db/migrate/201501222120_devise_create_admin_users.rb
## コメントアウトする ## Recoverable # t.string :reset_password_token # t.datetime :reset_password_sent_at ... add_index :admin_users, :email, unique: true # add_index :admin_users, :reset_password_token, unique: true ...
④マイグレーション
$ rake db:migrate
⑤モデルを作成
$ rails g model Article title:string content:text $ rake db:migrate
⑥ActiveAdminで管理する
このコマンドをやらなければ、adminには表示されません。
$ rails g active_admin:resource Article
⑦ストロングパラメータの許可
app/admin/article.rb
ActiveAdmin.register Article do controller do def permitted_params params.permit article: [:title, :content] end end end
⑧articleと1対多のモデルを新たに作成
$ rails g model Comment commenter:string body:text article:references $ rake db:migrate $ rails g active_admin:resource Comment
⑨ストロングパラメータの許可
controller do def permitted_params params.permit comment: [:commenter, :body, :article_id] end end
※例外的に必要な処理
今回、モデルにcommentを作成したため、ActiveAdminで元々使用されているcommentと被ってしまった。以下のようなエラーが出てしまいました...
`raise_if_mismatched!': You're trying to register ActiveAdmin::Comment as Comment, but the existing ActiveAdmin::Resource config was built for Comment! (ActiveAdmin::ResourceCollection::ConfigMismatch)
config/initializers/active_admin.rb
config.comments_registration_name = 'AdminComment'
ここまでやれば一通り動かせると思います。
管理画面はRailsAdminと比較してどっちを使うか決める感じになりそうです。
久しぶりの投稿、、これからは継続して投稿していきたい...
Cocos2d-xを2月から触っていくことになったのでそっちも書いていきたいです。