在ActiveAdmin中自定义显示页面

时间:2011-09-22 06:35:33

标签: ruby-on-rails ruby-on-rails-3 activeadmin

ActiveAdmin中的默认显示页面是一个每行包含一个属性的表。对于我的后端,这没关系,除了我想要隐藏id,created_at,updated_at等字段。

是否可以以类似于索引页的方式执行此操作,即通过显式列出所需的属性,同时让AtiveAdmin处理布局?

文档中显示的唯一示例表明,要自定义显示页面,您必须完全接管并编写部分或部分构造。

谢谢!

3 个答案:

答案 0 :(得分:22)

我认为你正在寻找attributes_table:

show do
  attributes_table :name, :content
end

如果您感到好奇,请参阅https://github.com/gregbell/active_admin/blob/master/lib/active_admin/views/pages/show.rb

(我完全取消了之前的答案,因为它基本没用!)

答案 1 :(得分:1)

show do

  attributes_table do
    row :profilepic do
      image_tag admin_user.profilepic.url, class: 'my_image_size'
    end
  row :name
  row :email
  row :adrs
  row :phone
  row :role
  row :salary
  row :parent_id
  row :joindate
end

答案 2 :(得分:0)

这将显示具有Package关系(has_many)的对象FAQS的示例

  show do |package|
    attributes_table do
      row :slug
      ...
      row :hotel
      panel "FAQS" do
        table_for package.faqs do
          column :question
          column :answer
        end
      end
    end
  end

它将呈现如下:

enter image description here