You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Active Admin中删除按钮的确认提示信息?

修改Active Admin列表页删除按钮的确认提示信息

你不需要移除默认的destroy动作,直接修改删除按钮的确认提示即可,以下两种方案都可以解决问题:

方案一:自定义动作列(手动添加按钮)

在app/admin/authors.rb的index块中,重写动作列,保留编辑按钮并自定义删除按钮,确保使用正确的删除路由:

ActiveAdmin.register Author do
  index do
    # 这里可以添加你需要的其他列
    column :name
    column :email

    # 自定义动作列
    actions do |author|
      # 保留默认编辑按钮
      item "编辑", edit_admin_author_path(author), class: "member_link edit_link"
      # 自定义删除按钮,设置确认提示并指定正确的删除路由和请求方法
      item "删除", admin_author_path(author), 
           method: :delete, 
           data: { confirm: "你确定要删除这个作者吗?" }, 
           class: "member_link delete_link"
    end
  end
end

方案二:全局配置删除动作的确认提示

更简洁的方式是通过config.destroy_action直接覆盖该资源删除按钮的确认属性,无需重写整个动作列:

ActiveAdmin.register Author do
  # 配置删除动作的确认提示
  config.destroy_action = ->(resource) {
    {
      method: :delete,
      data: { confirm: "确认要删除该作者吗?删除后无法恢复!" }
    }
  }

  index do
    # 保留默认的动作列即可
    actions
    # 其他列配置...
  end
end

为什么之前的方法会失效?

你之前用actions :all, :except => [:destroy]会移除Active Admin默认生成的destroy路由映射,导致点击删除按钮时找不到对应的处理路径。上面两种方案都不会移除默认路由,只是修改按钮的确认提示文本,因此可以正常执行删除操作。

内容的提问来源于stack exchange,提问作者Smile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:55:25