■ やりたいこと

  • 作成済テーブル(User)をadmin画面にて表示する
# schema.rb
create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
  t.string "email"
  t.string "password_digest"
  t.string "remember_digest"
  t.boolean "enabled_speed_save", default: false
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
end
  • Userテーブルのカラムでbcrypt使用している場合の対応

■ やったこと

1. 表示するモデル用のファイルを、app/admin/配下に新規作成する

  • 今回作成したファイル
# app/admin/users.rb
ActiveAdmin.register User do
      permit_params :email, :password, :password_confirmation
      
      # admin/users/new | admin/users/:id/edit の時の設定
      form do |f|
        f.inputs "User Details" do
        f.input :email
        f.input :password
        end
        f.actions
      end

      # show部分 = admin/users/:id/ の時の設定
      show do
        attributes_table do
          row :email
          row :password_digest
          row :remember_digest
          row :enabled_speed_save
          row :created_at
          row :updated_at
        end
      end
end

2. 新規User作成時bcrypt使用している場合の対応について

stackoverflow

password_digest → passwordに変更してあげるだけ

# app/admin/users.rb
form do |f|
  f.inputs "User Details" do
    f.input :email
    f.input :password # :password_digest
  end
  f.actions
end