2011-10-12 16 views

Respuesta

86

Se agrega una llamada a actions a todos los recursos de administración de Active:

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

En algún momento tuve este problema, debido al método de destruir, el 'Borrar' botón 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 
0

la respuesta aceptada inició una excepción, "número incorrecto de argumentos", por lo que hice esto para excluir el botón de borrar (: destruir la 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 
0

Si desea eliminar el quitar el botón destruir por completo el uso: acciones: todos, excepto: [: destruir]

Pero si el botón de borrar necesita condición basada en las propiedades de los recursos (por ejemplo.. datos o estado asociado).

En la página de índice: Índice hacer ...... ...... acciones por defecto: falso do | fila | si puede? : read, row text_node link_to "Ver", admin_resource_path (fila), clase: "view_link" end if can? : edit, row text_node link_to "Edit", admin_resource_path (fila), clase: "edit_link" end if can? : destroy, fila text_node link_to I18n.t ('active_admin.delete'), admin_resource_path (fila), método:: borrar, datos: {confirmar: I18n.t ('active_admin.delete_confirmation')}, clase: "delete_link" si row.deletable? final final

final

Ahora la parte compleja y que tenía que golpear la cabeza varias veces para controlarla en el desfile de la página:

config.remove_action_item (: destruir) # eliminará el botón de destruir

action_item solamente:: mostrar hacer

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? 

final

Disculpe mi terrible formateo.

Cuestiones relacionadas