我的设置: Rails 4.1.1和ruby2.1.1p76本地在MacOS X 10.10.1上,prod在Heroku上。
我安装了gem 'wicked_pdf'和gem 'wkhtmltopdf-binary'
在config/initializers/mime_types.rb中,我添加了:
Mime::Type.register "application/pdf", :pdf在config/initializers/wicked_pdf.rb中,我尝试了两种方法:
:exe_path => '/usr/local/bin/wkhtmltopdf'和
:exe_path => '#{Rails.root}/bin/wkhtmltopdf'当我在终点站运行时
$ wkhtmltopdf http://google.com google.pdf从我的应用程序目录,它确实生成一个pdf文件。因此,我假设wkhtmltopdf是正确设置的。
我的object_controller.erb包含:
def print_view
@teams = [Team.find(params[:team_id])]
respond_to do |format|
format.html
format.pdf do
render :pdf => "file_name",
:layout => "/layouts/print_layout.html.erb"
end
end
end我的views/layouts/print_layout.html.erb (为清晰而缩短):
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<%= wicked_pdf_stylesheet_link_tag('print', :media => :print) %>
</head>
<body class="<%= controller_name %> <%= action_name%>">
<%= yield %>
</body>
</html>以及我的views/object/print_view.html.erb (为了清晰起见缩短):
<div id="schedule-tables">
<%= render 'weekview_print' %>
</div>我有两个问题:
发布于 2014-12-29 17:33:58
应该将视图重命名为print_view.pdf.erb,因为在控制器中允许这两种格式。
要获得pdf,还必须使用.pdf扩展(例如/objects/print_view.pdf )调用相同的url。
https://stackoverflow.com/questions/27693038
复制相似问题