Подтвердить что ты не робот

Как настроить один столбец и отобразить оставшееся в activeadmin

Я использую Active admin gem в моем приложении rails. Я добавил книгу ресурсов, которая содержит 20 столбцов, теперь мне нужно настроить только один столбец и напечатать оставшиеся как есть. Я попробовал под кодом

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

но который скрывает все столбцы и показывает только описание. Любая помощь будет полезна.

4b9b3361

Ответ 1

Если вы укажете индексный блок, вам нужно поместить все столбцы, которые вы хотите показать, потому что вы заменяете поведение по умолчанию.

В вашем случае вам нужно добавить другие 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

Ответ 2

Как насчет этого?

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

Ответ 3

Это также работает, когда вы хотите добавить или настроить только один столбец в список по умолчанию (на основе ассоциации, которая принадлежит классу 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

Ответ 4

В общем, это довольно просто.

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

Ответ 5

В моем случае я хочу переименовать только один столбец, я сделал это ->

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