Подтвердить что ты не робот

Activeadmin отключает метод "новый ресурс"

Я использую Activeadmin для интерфейса администратора в приложении, над которым я работаю (люблю его), и мне любопытно, есть ли способ отключить ссылку "Новый ресурс" в правом верхнем углу ресурса показать страницу?

Конкретный ресурс, который я использую, вложен в другой ресурс, и у меня есть частичное, что позволяет его создать на странице показа на этом родительском ресурсе.

Я отключил ресурс в меню, но я предпочел бы оставить ресурс в меню, чтобы я мог видеть/редактировать/удалять эти ресурсы, не найдя его, просмотрев его родительский ресурс.

4b9b3361

Ответ 1

Попробуйте config.clear_action_items!

Ответ 2

Предыдущее решение didn`t работает для меня, так что вот общие решения, которые работают всегда:

ActiveAdmin.register Book do
  actions :index

  #or like that
  #actions :all, :except => [:destroy]

  index do
    column :title
    column :author
  end  
end

Ответ 3

Это удалило кнопку "Новый ресурс" в правом верхнем углу:

    config.clear_action_items!

Это удалило как кнопку "Новый ресурс", так и поле "Ресурсов еще нет - создайте один".

    actions :all, :except => [:new]

Спасибо, Irio

Ответ 4

Я знаю, что это старый вопрос, но я просто подошел к нему (имел ту же проблему) и понял, что config.clear_action_items! и actions :all, :except => [:new] принципиально разные.

config.clear_action_items! удалит кнопку New с индексной страницы, а actions :all, :except => [:new] удалит и кнопку, и маршрут, что означает, что вы не можете вызвать ее из другого места (что в моем случае необходимо).

Ответ 5

Или даже:

ActiveAdmin.register Purchase do
  config.clear_action_items!
  actions :index
end

Ответ 6

Я сделал это:

controller do
  def action_methods
    if some_condition
      super
    else
      super - ['new', 'create', 'destroy']
    end
  end
end

Чтобы отключить некоторые из возможных действий. action_methods возвращает массив из 7 стандартных действий CRUD, поэтому вы можете вычесть те, которые вы не хотите

Ответ 7

config.clear_action_items!

Удалит все действия. Если вы хотите удалить новую ссылку для действий, вы также можете использовать:

config.remove_action_item(:new)

Ответ 8

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

#---------------------------------------------------------------------------------------------