Я помогаю другу с рубином на сайте рельсов.Я действительно новичок в ruby on rails, и разработчик, который разработал сайт, очень длинный.
Приложение использует гем activeadmin, и в настоящее время в разделе документов есть столбец, который предположительно экспортирует документ в формате PDF, ноне работает.Вот кодИз app / admin / documents.rb
ActiveAdmin.register Document do
index do
column :id
# This was buggy
column :user_name do |d|
d.user.nil? ? 'No User' : (link_to d.user.name, admin_user_path(d.user))
end
column :user_email do |d|
d.user.nil? ? 'No User' : d.user.email
end
column :price do |document|
document.price.nil? ? 'Gratis' : document.price
end
column :type_document
column :status
column :download do |document|
link_to 'Download PDF', document_path(document, format: :pdf)
end
default_actions
end
form do |f|
f.inputs "Edicion" do
f.semantic_errors
f.input :content
f.input :price
f.input :status, as: :select, collection: Document::STATUSES
f.actions
end
end
csv do
column :user_name
column :user_email
column :price
column('Tipo') { |document| document.type_document }
column :status
column(:content) { |document| strip_tags(document.content) }
end
end
Я установил драгоценный камень wicked_pdf, но я застрял здесь.Я не знаю, как поступить.Я нашел этот код для создания PDF
def generate_pdf(document)
pdf = WickedPdf.new.pdf_from_string(
document.content,
encoding: 'UTF-8',
page_size: 'A4',
orientation: 'Portrait',
template: 'documents/documento.pdf.rb',
margin: { top: 30, # default 10 (mm)
bottom: 30,
left: 20,
right: 20
},
layout: 'layouts/pdf.html'
)
send_data(
pdf,
filename: "document_#{document.type_document}_#{document.user.name}.pdf",
disposition: 'attachment'
)
end
Я не уверен, что этот код правильный, а также как я могу связать ссылку Скачать PDF с этой функцией?
Любая помощь будетс благодарностью.
Заранее спасибо
Карлос Соса