ruby-on-rails - form - custom controller activeadmin
¿Cómo eliminar el formulario de opción de eliminación activeAdmin? (4)
En algún momento tuve este problema, debido al método de destrucción, el botón ''Eliminar'' no desapareció
actions :all, except: [:destroy]
controller do
def destroy # => Because of this the ''Delete'' button was still there
@user = User.find_by_slug(params[:id])
super
end
end
in rails gem active admin Quiero eliminar la opción de eliminar de las acciones predeterminadas mientras necesito editar y mostrar la acción, ¿hay alguna forma de hacerlo?
La respuesta aceptada arrojó una excepción, "número incorrecto de argumentos", así que hice esto para excluir el botón de eliminar (: destruir acción)
ActiveAdmin.register YourModel do
actions :index, :show, :new, :create, :update, :edit
index do
selectable_column
id_column
column :title
column :email
column :name
actions
end
Si desea eliminar el botón Quitar el destruir por completo, use: actions: all, excepto: [: destroy]
Pero si el botón de eliminar necesita una condición basada en las propiedades del recurso (por ejemplo, datos asociados o estado).
En la página de índice: index do ...... ...... valores predeterminados de acciones: false do | row | ¿si puede? : leer, fila text_node link_to "View", admin_resource_path (row), clase: "view_link" final si se puede? : edit, row text_node link_to "Edit", admin_resource_path (row), clase: "edit_link" final si se puede? : destroy, row text_node link_to I18n.t (''active_admin.delete''), admin_resource_path (row), método:: delete, data: {confirm: I18n.t (''active_admin.delete_confirmation'')), class: "delete_link" si row.deletable? final fin
fin
Ahora la parte compleja y tuve que golpearme la cabeza varias veces para controlarla en la página de presentación:
config.remove_action_item (: destroy) # eliminará el botón de destruir
solo action_item:: show do
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?
fin
Lo siento por mi terrible formato.
Agrega una llamada a actions
a cada recurso de Active Admin:
ActiveAdmin.register Foobar do
actions :all, :except => [:destroy]
end