#ruby-on-rails #activeadmin
#ruby-on-rails #activeadmin
Вопрос:
Я пытаюсь понять, почему я не могу удалить опцию «удалить» для администраторов, использующих active admin.
В прошлом я пытался удалить кнопку администратора, но после запуска сервера никаких изменений не вносилось.
Я добавил следующую строку, это избавляет от 1 кнопки удаления. Однако есть 2, которые необходимо удалить.
Пример использования кнопки удаления:https://www.rubydoc.info/gems/active_admin_sidebar/0.0.4
config.remove_action_item(:destroy)
После исследования и нахождения этого кода это также не сработало.
link_to I18n.t('active_admin.delete'), admin_resource_path(resource), method: :delete, data: { confirm: I18n.t('active_admin.delete_confirmation') }, class: "delete_link" if resource.deletable?
ActiveAdmin.register AdminUser do
config.remove_action_item(:destroy)
permit_params :email, :password, :password_confirmation
index do
selectable_column
id_column
column :email
column :current_sign_in_at
column :sign_in_count
column :created_at
actions
end
filter :email
filter :current_sign_in_at
filter :sign_in_count
filter :created_at
form do |f|
f.inputs do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
end
`````````````````````````````````````````````````````````````````````````````
Ответ №1:
Если вы хотите пропустить действие «уничтожить» в кнопках, у вас есть два способа:
- Передать список разрешенных действий:
index do
selectable_column
id_column
# ... other columns
actions :index, :show, :new, :create, :update, :edit
end
- Используйте
except
ключ дляactions
метода для передачи запрещенных действий:
index do
selectable_column
id_column
# ... other columns
actions :all, except: :destroy
end
Или вы можете отключить :destroy
действие для каждой страницы для ресурса:
ActiveAdmin.register AdminUser do
actions :all, :except => :destroy
end
Или вы можете очистить все действия для ресурса:
ActiveAdmin.register AdminUser do
config.clear_action_items!
# After this you can go ahead and define custom
# action items as you please
end
Источники: