J'utilise Activeadmin pour l'interface d'administration d'une application sur laquelle je travaille (je l'adore) et je suis curieux de savoir s'il est possible de désactiver le lien "Nouvelle ressource" dans le coin supérieur droit de la page d'affichage des ressources?
La ressource que j'utilise est imbriquée dans une autre ressource et j'ai une partie qui lui permet d'être créée à partir de la page d'affichage de cette ressource parente.
J'ai désactivé la ressource dans le menu, mais je préfère laisser la ressource dans le menu afin de pouvoir voir/éditer/supprimer ces ressources sans avoir à la trouver en cherchant dans sa ressource parente.
Essayez config.clear_action_items!
La solution précédente ne fonctionnait pas pour moi, alors voici des solutions générales, qui fonctionnent toujours:
ActiveAdmin.register Book do
actions :index
#or like that
#actions :all, :except => [:destroy]
index do
column :title
column :author
end
end
Cela a supprimé le bouton "Nouvelle ressource" en haut à droite:
config.clear_action_items!
Cette opération supprimait à la fois le bouton "Nouvelle ressource" et la case "Il n'y a pas encore de ressources - créez-en une".
actions :all, :except => [:new]
Merci, Irio
Je sais que c’est une vieille question, mais j’y suis tout simplement arrivé (je rencontrais le même problème) et je me suis rendu compte que config.clear_action_items!
et actions :all, :except => [:new]
sont fondamentalement différents.
config.clear_action_items!
supprimera le bouton New
de la page d'index, tandis que actions :all, :except => [:new]
supprimera le bouton, ET la route, ce qui signifie que vous ne pouvez pas l'appeler d'un autre endroit (ce qui, dans mon cas, est nécessaire).
J'ai fait ça:
controller do
def action_methods
if some_condition
super
else
super - ['new', 'create', 'destroy']
end
end
end
Pour désactiver certaines des actions possibles. action_methods retourne un tableau des 7 actions CRUD standard, afin que vous puissiez soustraire celles que vous ne voulez pas
config.clear_action_items!
Supprime toutes les actions . Si vous souhaitez uniquement supprimer le nouveau lien d'action, vous pouvez également utiliser:
config.remove_action_item(:new)
Ou même:
ActiveAdmin.register Purchase do
config.clear_action_items!
actions :index
end
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
#---------------------------------------------------------------------------------------------