我有以下表格上传PDF:
f.inputs 'PDF' do
f.has_many :pdfs, allow_destroy: true do |pdf_f|
pdf_f.semantic_errors
pdf_f.input :name
pdf_f.input :description
pdf_f.input :enabled
pdf_f.input :link, label: 'file', as: :file
end
end
一种显示文件的方法:
li do
div "name: #{pdf.name}"
div "filename: #{pdf.link.path.split('/').last}"
div raw "description: <br> #{pdf.description}"
div "enabled: #{pdf.enabled ? "yes" : "no"}"
end
Pdf
是一个多态对象,因此可以出现在几个模型上。
如何为每个分片创建一个通用分片,然后可以在ActiveAdmin中重复使用,这样我就不必每次都重新创建它们了?
请记住第二个我希望通过将其作为collection:
答案 0 :(得分:1)
表单答案是将表单放在部分位于:
中app/views/active_admin/base/_pdf_form.erb
然后像这样呈现:
render partial: 'pdf_form', locals: {f: f}
对于显示区域,您应将部分放在:
app/views/active_admin/base/_pdf.erb
然后像这样呈现:
render partial: 'pdf', collection: event.pdfs
部分名称必须在引号中,否则铁路不会找到它active_admin/base
。