Activeadmin 禁用“新资源”方法

问题描述 投票:0回答:9

我正在使用 Activeadmin 作为我正在开发的应用程序的管理界面(喜欢它),我很好奇是否有办法禁用资源显示页面右上角的“新资源”链接?

我正在使用的特定资源嵌套在另一个资源中,并且我有一个部分允许从该父资源上的显示页面创建它。

我已禁用菜单中的资源,但我宁愿将资源保留在菜单中,这样我就可以查看/编辑/删除这些资源,而不必通过查看其父资源来找到它。

activeadmin
9个回答
70
投票

以前的解决方案对我不起作用,所以这里是通用解决方案,始终有效:

ActiveAdmin.register Book do
  actions :index

  #or like that
  #actions :all, :except => [:destroy]

  index do
    column :title
    column :author
  end  
end

38
投票

尝试

config.clear_action_items!
删除指向
New
的链接以及表格顶部的其他链接


28
投票

这删除了右上角的“新资源”按钮:

    config.clear_action_items!

这删除了“新资源”按钮以及“尚无资源 - 创建一个”框。

    actions :all, :except => [:new]

谢谢你,伊里奥


15
投票
config.clear_action_items!

将删除所有操作。 如果您只想删除新操作链接,您也可以使用:

config.remove_action_item(:new)

9
投票

我知道这是一个老问题,但我刚刚想到它(有同样的问题),并意识到

config.clear_action_items!
actions :all, :except => [:new]
本质上是不同的。

config.clear_action_items!
将从索引页中删除
New
按钮,而
actions :all, :except => [:new]
将删除按钮和路线,这意味着您无法从其他地方调用它(在我的情况下,这是需要的) .


7
投票

我这样做了:

controller do
  def action_methods
    if some_condition
      super
    else
      super - ['new', 'create', 'destroy']
    end
  end
end

禁用一些可能的操作。 action_methods 返回 7 个标准 CRUD 操作的数组,因此您可以减去您不想要的操作


4
投票

甚至:

ActiveAdmin.register Purchase do
  config.clear_action_items!
  actions :index
end

1
投票

config.clear_action_items!
只完成了一半的工作。但有一个问题。

如果索引表为空,活动管理员会显示此消息

还没有[资源]。创建一个

上面的命令不会隐藏它,我不想完全禁用该操作。因此,我保留了链接并编辑了新操作以通过消息重定向到父资源索引。

controller do
  def new
    if params[:parent_id].present?
      super
    else
      redirect_to parent_resources_path, notice: "Create Resource through ParentResource"
    end
  end
end

0
投票
Worked for me too ! :-) 

ActiveAdmin.register AssetSumView do
             menu :label => "Asset Summary View", :parent => "Things"
# no button for NEW (since this is a db view)
#---------------------------------------------------------------------------------------------
config.clear_action_items!

    enter code here

   action_item do
      link_to "Assets" , "/admin/assets" 
    end

   action_item do
      link_to "AssetCatgCodes", "/admin/asset_catg_codes"
    end

#---------------------------------------------------------------------------------------------
© www.soinside.com 2019 - 2024. All rights reserved.