How to customize one column and display remaining in activeadmin

In my case, I want only rename the one column, I have done this way ->

index do
    column :one
    column :two  
    ....
    column "View Description", :description # This will change you column label **description** to **View Description**
end

How about this?

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

If you specify an index block, you need to put all the columns that you want to show, because you are replacing the "default" behaviour.

In your case, you need to add the other 19 columns with something like:

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

I was curious about this question too. Here is what I found

  index do
    column :id
    active_admin_config.resource_columns.each do |attribute|
      column attribute
    end
  end

https://github.com/activeadmin/activeadmin/blob/5dbf9b690302ecb4ba0c0ce59b2fb4735c88b35c/lib/active_admin/views/index_as_table.rb#L261