Activeadmin отключает метод «новый ресурс»
-
26-10-2019 - |
Вопрос
Я использую Activeadmin для интерфейса администратора в приложении, над которым работаю (оно мне нравится), и мне интересно, есть ли способ отключить ссылку «Новый ресурс» в правом верхнем углу страницы отображения ресурса?
Конкретный ресурс, который я использую, вложен в другой ресурс, и у меня есть частичный ресурс, который позволяет создать его на странице показа этого родительского ресурса.
Я отключил ресурс в меню, но предпочитаю оставить его в меню, чтобы иметь возможность просматривать/редактировать/удалять эти ресурсы, не находя их, просматривая родительский ресурс.
Решение
Попробуйте config.clear_action_items!
Другие советы
Предыдущее решение не сработало для меня, так что вот общие решения, которые всегда работают:
ActiveAdmin.register Book do
actions :index
#or like that
#actions :all, :except => [:destroy]
index do
column :title
column :author
end
end
Это удалило кнопку «Новый ресурс» из вершины:
config.clear_action_items!
Это удалило как кнопку «Новый ресурс», а также поле «Нет ресурсов - создайте один».
actions :all, :except => [:new]
Спасибо, Ирио
Я знаю, что это старый вопрос, но я только что подошел к нему (была та же проблема) и понял, что config.clear_action_items!
и actions :all, :except => [:new]
принципиально различны.
config.clear_action_items!
удалю New
кнопку с индексной страницы, в то время как actions :all, :except => [:new]
удалит и кнопку, и маршрут, то есть вы не сможете вызвать его из другого места (что в моем случае необходимо).
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, чтобы вы могли вычесть тех, которые не хотите
Или даже:
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
#---------------------------------------------------------------------------------------------