Ruby on rails “谷歌适配器卡住的Chartkick”;“正在加载…”;论Heroku生产
我的问题是,无论我尝试什么,我都会被“加载…”所困扰,当我使用chartkick和wicked_pdf时,我应该在其中加载图表 GemfileRuby on rails “谷歌适配器卡住的Chartkick”;“正在加载…”;论Heroku生产,ruby-on-rails,heroku,wicked-pdf,chartkick,Ruby On Rails,Heroku,Wicked Pdf,Chartkick,我的问题是,无论我尝试什么,我都会被“加载…”所困扰,当我使用chartkick和wicked_pdf时,我应该在其中加载图表 Gemfile 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",
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" %>
...
我将loader.js和chartkick.js放在我的assets/javascript目录中。这是我能让它从“找不到适配器”至少变为“加载”的唯一方法。每次……我在某件事情上工作一天,将其发布到stack,然后一小时后找到答案 因此,要解决这个问题,我必须删除(注意:我“gem uninstall wkhtmltopf binary-edge”,然后也从gemfile中删除,这样它就会删除可执行文件) 并替换为
gem 'wkhtmltopdf-heroku'
并且在decked_pdf.config中
if Rails.env.production?
wkhtmltopdf_path = Gem.bin_path('wkhtmltopdf-heroku', 'wkhtmltopdf-linux-amd64')
else
WickedPdf.config = {
exe_path: '/usr/local/bin/wkhtmltopdf'
}
end
叮!炸薯条做好了。希望有一天能帮助别人!终于,我可以发布这个产品了 我还应该指出,它在本地主机上的开发人员中以pdf和html格式工作得很好,在heroku html格式上工作得很好…只有当显示为pdf时,我才无法加载。。。
gem 'wkhtmltopdf-heroku'
if Rails.env.production?
wkhtmltopdf_path = Gem.bin_path('wkhtmltopdf-heroku', 'wkhtmltopdf-linux-amd64')
else
WickedPdf.config = {
exe_path: '/usr/local/bin/wkhtmltopdf'
}
end