2013-01-19 11 views
12

Sto utilizzando la gemma admin attiva nella mia app per rails. Ho aggiunto il libro delle risorse che ha 20 colonne, ora ho bisogno di personalizzare solo una colonna e stampare il resto così com'è. Ho provato sotto il codiceCome personalizzare una colonna e il display rimanente in activeadmin

ActiveAdmin.register Book do 
index do 
    column :description do 
    raw "<a class='view_description button'>View Description</a>" 
    end 
end 
end 

ma che nasconde tutte le colonne e mostra solo la descrizione. Qualsiasi aiuto sarà utile.

+2

è necessario elencare tutte le righe se si inizia con le personalizzazioni in questo modo https://github.com/phoet/on_ruby/blob/ master/app/admin/users.rb # L19 – phoet

+2

è un inferno per il grande tavolo quindi, grazie per il link. – Senthil

risposta

7

Se si specifica un blocco di indice, è necessario inserire tutte le colonne che si desidera mostrare, in quanto si sostituisce il comportamento "predefinito".

Nel tuo caso, è necessario aggiungere le altre 19 colonne con qualcosa di simile:

ActiveAdmin.register Book do 
index do 
    column :one 
    column :two 
    column :three 
    column :name 
    column :title 
    column :pages 
    column :description do 
    raw "<a class='view_description button'>View Description</a>" 
    end 
end 
end 
27

ne dici di questo?

ActiveAdmin.register Book do 
    index do 
    columns_to_exclude = ["name"] 
    (Book.column_names - columns_to_exclude).each do |c| 
     column c.to_sym 
    end 
    column :description do 
     raw "<a class='view_description button'>View Description</a>" 
    end 
    end 
end 
+0

Cercavo in internet ovunque per questo! Grazie! – istrasci

+0

Questa è la migliore risposta in StackOverflow. – spinlock

2

Questo funziona anche quando si desidera aggiungere o personalizzare solo una singola colonna all'elenco predefinito (in base a un'associazione che è per un belongs_to).

ActiveAdmin.register Book do 
    index do 
    column :publisher do |book| 
     book.publisher.name 
    end 
    Book.column_names.each do |c| 
     column c.to_sym 
    end 

    end 
end 
1

In generale, questo è abbastanza facile ..

ActiveAdmin.register Book do 
    index do 
    (Book.column_names - ["column_to_customize"]).each do |c| 
     column c.to_sym 
    end 
    column :column_to_customize do 
     raw "<a class='view_description button'>View Description</a>" 
    end 
    end 
end 
Problemi correlati