2013-01-19 29 views
12

我在我的Rails應用程序中使用活動管理寶石。我添加了具有20列的資源書,現在我只需要定製一列,然後打印剩餘的列。我嘗試下面的代碼如何自定義一列和顯示剩餘在activeadmin

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

但它隱藏所有的列,只顯示說明。任何幫助都是有用的。

+2

你需要的,如果你自定義開始像這樣https://github.com/phoet/on_ruby/blob/列出所有行大師/應用程序/管理員/ users.rb#L19 – phoet

+2

它的地獄大表,然後,感謝您的鏈接。 – Senthil

回答

7

如果指定索引塊,則需要放置所有要顯示的列,因爲您要替換「默認」行爲。

在你的情況,你需要的東西,如添加其他19列:

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

這個怎麼樣?

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

正在爲此搜索互聯網!謝謝! – istrasci

+0

這是StackOverflow中的最佳答案。 – spinlock

2

當您想要添加或自定義一列到默認列表(基於關於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

一般情況下,這是很容易..

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 
相關問題