ActiveDmin Deaktivieren der Methode „New Resource“
-
26-10-2019 - |
Frage
Ich verwende ActiveAeDmin für die Admin-Schnittstelle in einer App, an der ich arbeite (liebe es), und ich bin gespannt, ob es eine Möglichkeit gibt, den Link "New Resource" in der oberen rechten Ecke der Ressourcen-Show-Seite zu deaktivieren?
Die bestimmte Ressource, die ich verwende, ist in einer anderen Ressource verschachtelt, und ich habe ein Teil, das es ermöglicht, auf der Show -Seite auf dieser übergeordneten Ressource erstellt zu werden.
Ich habe die Ressource im Menü deaktiviert, aber ich möchte die Ressource lieber im Menü überlassen, damit ich diese Ressourcen sehen/bearbeiten/löschen kann, ohne sie durch die übergeordneten Ressource zu suchen.
Lösung
Versuchen Sie config.clear_action_items!
Andere Tipps
Die frühere Lösung hat für mich nicht funktioniert, also hier sind allgemeine Lösungen, die immer funktioniert:
ActiveAdmin.register Book do
actions :index
#or like that
#actions :all, :except => [:destroy]
index do
column :title
column :author
end
end
Dadurch wurde die Schaltfläche "Neue Ressource" von der oberen Rechten entfernt:
config.clear_action_items!
Dadurch wurde sowohl die Schaltfläche "Neue Ressource" als auch das Box "Es gibt noch keine Ressourcen - erstellen".
actions :all, :except => [:new]
Danke, Irrio
Ich weiß, dass dies eine alte Frage ist, aber ich bin gerade darauf gekommen (hatte das gleiche Problem) und erkannte das config.clear_action_items!
und actions :all, :except => [:new]
sind grundsätzlich unterschiedlich.
config.clear_action_items!
wird die entfernen New
Schaltfläche von der Indexseite, während actions :all, :except => [:new]
Entfernen Sie sowohl die Taste als auch die Route, was bedeutet, dass Sie sie nicht von einem anderen Ort aus aufrufen können (was in meinem Fall benötigt wird).
config.clear_action_items!
Wird alle Aktionen entfernen. Wenn Sie nur den neuen Aktionslink entfernen möchten, können Sie auch verwenden:
config.remove_action_item(:new)
Ich war das:
controller do
def action_methods
if some_condition
super
else
super - ['new', 'create', 'destroy']
end
end
end
Einige der möglichen Handlungen zu deaktivieren. action_methods Gibt ein Array der 7 Standard -CRUD -Aktionen zurück, sodass Sie diejenigen subtrahieren können, die Sie nicht wollen
Oder auch:
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
#---------------------------------------------------------------------------------------------