如何自定义一列和显示在activeadmin中的剩余部分

Sen*_*hil 15 ruby-on-rails-3 activeadmin

我在我的rails应用程序中使用Active admin gem.我添加了有20列的资源书,现在我只需要自定义一列并按原样打印剩余的列.我试过下面的代码

ActiveAdmin.register Book do
 index do
  column :description do 
    raw "<a class='view_description button'>View Description</a>"
  end
 end
end
Run Code Online (Sandbox Code Playgroud)

但它隐藏了所有列并仅显示描述.任何帮助都会有用.

小智 36

这个怎么样?

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
Run Code Online (Sandbox Code Playgroud)

  • 但在这种情况下,默认情况下在某些列上显示的链接(即 href),即引用的列不保留。如何在不使用 link_to 方法添加单个列的情况下获得它? (2认同)

小智 9

如果指定索引块,则需要放置要显示的所有列,因为您要替换"默认"行为.

在您的情况下,您需要添加其他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
Run Code Online (Sandbox Code Playgroud)


小智 7

就我而言,我只想重命名一列,我已经这样做了 ->

index do
    column :one
    column :two  
    ....
    column "View Description", :description # This will change you column label **description** to **View Description**
end
Run Code Online (Sandbox Code Playgroud)