Вопрос

Я использую 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

#---------------------------------------------------------------------------------------------
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top