首页 > 解决方案 > ActiveAdmin - 删除删除管理员用户选项

问题描述

我正在尝试摆脱该选项,因此管理员无法删除自己。

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

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

删除管理员用户按钮:

在此处输入图像描述

应用程序/管理员/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

正如建议的那样,我已经添加了代码,但我仍然收到“删除管理员用户”按钮。

标签: ruby-on-railsrubyactiveadmin

解决方案


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

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

    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


推荐阅读