Activeadmin禁用“新资源”方法

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

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

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

尝试config.clear_action_items!

以前的解决scheme没有为我工作,所以这里是一般的解决scheme,总是工作:

ActiveAdmin.register Book do actions :index #or like that #actions :all, :except => [:destroy] index do column :title column :author end end 

这从右上angular删除了“新build资源”button:

  config.clear_action_items! 

这删除了“新资源”button以及“尚无资源 – 创build一个”框。

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

谢谢你,Irio

我知道这是一个古老的问题,但我刚刚(它有同样的问题),并意识到config.clear_action_items!actions :all, :except => [:new]是根本不同的。

config.clear_action_items! 将会从索引页面中删除Newbutton,而actions :all, :except => [:new]将删除button和路由,这意味着你不能从另一个地方调用它(在我的情况下,是需要的)。

甚至:

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

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

 config.remove_action_item(:new) 

我做到了这一点:

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

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

 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 #---------------------------------------------------------------------------------------------