ActiveAdmin - 删除删除管理员用户选项

ActiveAdmin - Removing Delete admin user option

我正在尝试删除该选项,以便管理员无法删除自己。

目前如图所示,管理员可以删除自己。

我不确定该怎么做?我检查了我的系统,我可以看到 ActiveAdmin 布局的代码。但是,我无法查看此内容。

删除管理员用户按钮:

app/admin/admin_user.rb:

ActiveAdmin.register AdminUser do
  index do
    selectable_column
    id_column
    column :email
    column :current_sign_in_at
    column :sign_in_count
    column :created_at
    actions
  end

  filter :email
  filter :current_sign_in_at
  filter :sign_in_count
  filter :created_at

  form do |f|
    f.inputs do
      f.input :email
      f.input :password
      f.input :password_confirmation
    end
    f.actions
  end
end

我补充了:

ActiveAdmin.register MyUser do
  config.remove_action_item(:destroy)
end

按照建议,我已经添加了代码,但我仍然收到 "Delete admin user" 按钮。

您有 2 个选项可以删除它。

一种使用 active_admin 资源文件中的 config 变量删除它的方法,例如

    ActiveAdmin.register MyUser do
        config.remove_action_item(:destroy)
        ...
    end    

否则,您可以通过 actions 方法跳过此操作,例如:

    ActiveAdmin.register MyUser do
      actions :all, except: [:destroy]
      ...
    end

ActiveAdmin 资源文件将在代码中的 app/admin 目录中。例如app/admin/admin_users.rb