Ответ 1
Попробуйте config.clear_action_items!
Я использую Activeadmin для интерфейса администратора в приложении, над которым я работаю (люблю его), и мне любопытно, есть ли способ отключить ссылку "Новый ресурс" в правом верхнем углу ресурса показать страницу?
Конкретный ресурс, который я использую, вложен в другой ресурс, и у меня есть частичное, что позволяет его создать на странице показа на этом родительском ресурсе.
Я отключил ресурс в меню, но я предпочел бы оставить ресурс в меню, чтобы я мог видеть/редактировать/удалять эти ресурсы, не найдя его, просмотрев его родительский ресурс.
Попробуйте config.clear_action_items!
Предыдущее решение didn`t работает для меня, так что вот общие решения, которые работают всегда:
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]
Спасибо, Irio
Я знаю, что это старый вопрос, но я просто подошел к нему (имел ту же проблему) и понял, что config.clear_action_items!
и actions :all, :except => [:new]
принципиально разные.
config.clear_action_items!
удалит кнопку New
с индексной страницы, а actions :all, :except => [:new]
удалит и кнопку, и маршрут, что означает, что вы не можете вызвать ее из другого места (что в моем случае необходимо).
Или даже:
ActiveAdmin.register Purchase do
config.clear_action_items!
actions :index
end
Я сделал это:
controller do
def action_methods
if some_condition
super
else
super - ['new', 'create', 'destroy']
end
end
end
Чтобы отключить некоторые из возможных действий. action_methods возвращает массив из 7 стандартных действий CRUD, поэтому вы можете вычесть те, которые вы не хотите
config.clear_action_items!
Удалит все действия. Если вы хотите удалить новую ссылку для действий, вы также можете использовать:
config.remove_action_item(:new)
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
#---------------------------------------------------------------------------------------------