我想在Active Admin的show
方法中添加除模型的所有(默认)行之外的一些额外行。
假设我有 Appointment 模型,其中包含以下属性:start_time
和end_time
。在Active Admin的show
方法中未指定它们会将其显示为行,并提供其他信息:id
,created_at
,updated_at
以及默认操作。
如何在不重写先前属性的情况下添加用户名(例如)。其实我做了以下几点:
show do
# Rewrite default rows (how not to rewrite them?)
row(:id)
row(:start_time)
row(:end_time)
row(:created_at)
row(:updated_at)
# Add new row
row(:user) { |appointment| appointment.user.name }
end
谢谢,
答案 0 :(得分:1)
可能会有所帮助,首先获取模型中的默认行,然后循环遍历每个行。然后添加所需的任何其他行
show do |appointment|
rows = default_attribute_table_rows
attributes_table_for appointment do
rows.each do |column|
row column
end
if appointment.user.present?
row("user") {appointment.user.name}
end
end
end
答案 1 :(得分:0)
如果您不想丢失默认属性(数据库列),请执行以下操作:
show do
attributes_table(*resource.attributes.keys) do
row "My new row description" do
My row value
end
end
end
您的新行将显示在表格底部