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!
将会从索引页面中删除New
button,而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 #---------------------------------------------------------------------------------------------