日曜ITエンジニア劇場

日曜に勉強した情報の整理と、挑戦する新たな技術(私にとって)のつまづきポイントを綴っていきます。

ActiveAdmin/modelおよび管理画面の追加


参考資料

1.公式サイト

activeadmin.info

2.作業手順参考

qiita.com

今回もありがとうございます!
公式サイトで一番分かりずらかったのが、ActiveAdminに
管理画面を追加する方法でした。
助かりました🙇🏻‍♀️


環境

$ sw_vers  
ProductName:    Mac OS X  
ProductVersion: 10.15.4  
$ sqlite3 -version  
3.28.0    
$ ruby -v  
ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin19]  
$ rails -v  
Rails 6.0.3.1  

手順

1.modelを生成する。

(delete_atカラムについては、ActiveRecordで論理削除を参照ください。)

$ rails g model recipe name:string deleted_at:datetime  
Running via Spring preloader in process 2887  
      invoke  active_record  
      create    db/migrate/20200526035626_create_recipes.rb  
      create    app/models/recipe.rb  
      invoke    rspec  
      create      spec/models/recipe_spec.rb  

2.マイグレーションファイルをDBに反映

$ rails db:migrate  
== 20200526035626 CreateRecipes: migrating ====================================  
-- create_table(:recipes)  
   -> 0.0026s  
== 20200526035626 CreateRecipes: migrated (0.0029s) ===========================  

3.手順1で生成したmodelに対する画面を生成する。

$ rails g active_admin:resource Recipe  
Running via Spring preloader in process 3057  
      create  app/admin/recipes.rb  

4.app/admin/recipes.rbにpermit_paramsを記述する。

permit_paramsは、ストロングパラメータの様なもの。
 許可するパラメータを制限する。

recipes.rb

permit_params :name, :deleted_at  

※生成したファイルには、下記の様に自動で全項目に対してpermit_paramsの記述方法が記載されているので、
 必要な部分をコメントアウトして不要行を削除する方が効率がいいかもしれません。

ActiveAdmin.register Recipe do  
  
  # See permitted parameters documentation:  
  # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters  
  #  
  # Uncomment all parameters which should be permitted for assignment  
  #  
  # permit_params :name, :deleted_at  
  #  
  # or  
  #  
  # permit_params do  
  #   permitted = [:name, :deleted_at]  
  #   permitted << :other if params[:action] == 'create' && current_user.admin?  
  #   permitted  
  # end  
  
end  

5.サーバー起動

$ rails s  

おまけ

完成図

f:id:kuroneko-r011117:20200526181505p:plain
一覧画面
f:id:kuroneko-r011117:20200526181631p:plain
新規登録画面
f:id:kuroneko-r011117:20200526181713p:plain
登録後の詳細画面
f:id:kuroneko-r011117:20200526181828p:plain
登録後の一覧画面