emolog

脳内メモです。

【rails】active_adminの詳細ページを変更する

f:id:ababababa0222:20210308172756p:plain

やりたいこと

  • active_adminで管理画面の詳細ページから、ユーザのメールアドレスを変更できるように修正したい

やったこと

  • /admin/users.rb の変更
ActiveAdmin.register User do
  actions :index, :show, :new, :create, :update, :edit

  permit_params :email, :team_id, :user_name,

  # email変更用のラベル
  CHANGE_EMAIL_LABEL = 'email (※ メールアドレスを変更する場合のみ変更してください)'

  form do |f|
    f.inputs do
      # 新規作成
      if f.object.new_record?
        f.input :team
        f.input :email
        f.input :user_name
      # 更新
      else
        li "team: #{f.object.team.name}"
        li "email: #{f.object.email}"
        li "user_name: #{f.object.user_name}"
        # ここを追加
        f.input :email, label: CHANGE_EMAIL_LABEL
      end
    end
    f.actions
  end

  controller do
    def update
      # ここにロジックを書く
      # user_modelのインスタンスメソッドを呼ぶイメージ
    end
  end