【发布时间】:2014-12-29 17:08:31
【问题描述】:
我的设置:MacOS X 10.10.1 上本地的 Rails 4.1.1 和 ruby 2.1.1p76 以及 Heroku 上的 prod。
我安装了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>
我有两个问题:
- 我得到的是 html 页面,而不是 pdf
- 页面使用的是默认布局,而不是指定的布局
【问题讨论】:
标签: ruby-on-rails-4 wkhtmltopdf wicked-pdf