作者:军魂永驻1971 | 来源:互联网 | 2023-09-11 17:35
使用宝石 wicked_pdf ,我正在尝试实现通过插件 jQuery formBuilder 创建的表单的PDF版本。
但是,在生成PDF时,wicked_pdf无法识别formBuilder函数:$('#fillable-form').formRender(formRenderOpts);
它返回错误TypeError: 'undefined' is not a function
(我使用this代码段通过控制台日志调试Javascript)。
我尝试过debugging和.formRender()
在纯HTML格式下效果很好:
是否有人知道为什么?.formRender()
不执行其PDF格式吗?
规格:
- wicked_pdf
v1.4.0
- wkhtmltopdf
v0.12.5
- formBuilder
v2.1.2
控制器:
respond_to do |format|
format.html { render "forms/_completed_form.html.erb" }
format.js
format.pdf do
@pdf_type = 'Form'
render pdf: "Form #{@completed_user_form.form.name}",page_size: 'Letter',template: "forms/partials/pdfs/completed_form_pdf.html.erb",layout: "pdf.html.haml",zoom: 1,dpi: 75,viewport_size: '1280x1024',Javascript_delay: 10000,show_as_html: params.key?('debug')
end
end
结束
pdf.html.haml :
!!!
%html
%head
%meta{:cOntent=> "text/html; charset=UTF-8","http-equiv" => "Content-Type"}/
%title= "#{@pdf_type} PDF"
= stylesheet_link_tag 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.4/css/bootstrap.css'
= wicked_pdf_stylesheet_link_tag 'profile-pdf'
= Javascript_include_tag "https://code.jquery.com/jquery-1.12.4.min.js"
= Javascript_include_tag 'https://cdn.jsdelivr.net/npm/formBuilder@2.1.2/dist/form-render.min.js'
%body
= yield
completed_form_pdf.html.erb:
<%= render 'forms/partials/pdfs/completed_form_formbuilder_form_pdf',parent_form: @completed_user_form %>
_completed_form_formbuilder_form_pdf.html.erb:
<%= form_for(parent_form,url: review_user_form_path,method: 'post') do |f| %>
<%= parent_form.form.name %>
<% end %>