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

Действия ActiveAdmin

есть ли способ указать на странице индекса ActiveAdmin модель, какие действия разрешены, например:

index do
  actions :edit
end

index do
  actions only: :edit
end

не работают. Какой правильный синтаксис?

Оценил.

bundle show activeadmin
/home/muichkine/.rvm/gems/ruby-2.1.2/bundler/gems/active_admin-9cfc45330e5a
4b9b3361

Ответ 1

Добавьте все действия, которые вы хотите получить, используя actions (обычно это относится к определению модели):

ActiveAdmin.register YourModel do
actions :index, :show, :create, :edit, :update

Если вы хотите указать метод для определенного действия, вы можете сделать

action_item only: :show  do
  link_to 'Edit', action: :edit # so link will only be available on show action
end

Ответ 2

Сделайте так,

ActiveAdmin.register Foobar do
  actions :all, :except => [:destroy]
end

или

ActiveAdmin.register Foobar do
  actions :only => :edit
end

Необходимо указать на уровне ресурса не в определении метода

Ответ 3

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

column :actions do |item|
  links = []
  links << link_to('Show', item_path(item))
  links << link_to('Edit', edit_item_path(item))
  links << link_to('Delete', item_path(item), method: :delete, confirm: 'Are you sure?')
  links.join(' ').html_safe
end