我的问题是,无论我尝试什么,我都坚持使用“ Loading ..”,在使用chartkick和wicked_pdf时应该在其中具有图表。
宝石文件
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary-edge', '0.12.4.0'
gem 'chartkick'
控制器
respond_to do |format|
format.html
format.pdf do
render pdf: "FILENAME",
template: "ratingreports/show.html.erb",
window_status: "FLAG_FOR_PDF",
margin: { top: 5,
bottom: 10,
left: 0,
right: 0 },
background: true,
page_size: 'Letter',
default_header: false,
footer: {
:html => {
:template => 'shared/footer.html.erb'
}
}
end
end
pdf.js
setTimeout((function () {
window.status = "FLAG_FOR_PDF";
Object.keys(Chartkick.charts).forEach(function (key) {
Chartkick.charts[key].redraw();
});
}), 5000);
show.html.erb
head>
<%= javascript_include_tag wicked_pdf_asset_base64('pdf') %>
<%= javascript_include_tag wicked_pdf_asset_base64('loader') %>
<%= javascript_include_tag wicked_pdf_asset_base64('chartkick') %>
<%= wicked_pdf_stylesheet_link_tag "application" %>
</head>
...
<%= column_chart @scorecount, colors: ["#46ceb7"], adapter: "google", discrete: true, height: "200px", width: "400px" %>
...
config / wicked_pdf.rb
if Rails.env.production?
wkhtmltopdf_path = "#{Rails.root}/bin/wkhtmltox_0.12.5-1.xenial_amd64.deb"
else
WickedPdf.config = {
exe_path: '/usr/local/bin/wkhtmltopdf'
}
end
我将loader.js和chartkick.js放在我的资产/ javascript目录中。这是我至少可以从“未找到适配器”变为“正在加载”的唯一方法。
答案 0 :(得分:1)
每次...我每天要处理某件事,将其张贴到堆栈上,然后一小时后我找到答案。
因此,要解决此问题,我必须删除(注意:我先“删除gm卸载wkhtmltopdf-binary-edge”,然后再从gemfile中删除它,因此它将删除可执行文件)
if (question == "Yes" or question == "Yeah" or question == "Y" or question == "Duh".lower())
print("You dumb.")
并替换为
gem 'wkhtmltopdf-binary-edge', '0.12.4.0'
和wicked_pdf.config
中gem 'wkhtmltopdf-heroku'
丁!炸了。希望有一天能对某人有所帮助!最后,我可以启动该产品!