我有一组静态的帮助页面,我使用 Thoughbots 高压 gem 在 Rails 3.2 应用程序中提供服务。我只是以"香草"的方式使用它,而不是通过控制器提供 html 页面。
背景
我最初试图自己改编 Michael Hartl 的静态页面教程 - 即我有一组带有自己的控制器的静态页面,我试图在静态页面视图下创建一个子目录,但无法让我的路由工作,所以谷歌搜索显示 Thoughbots 高压宝石。
愿望
我想要的是建议哪种 gem 或方法最适合使用 Thoughtbots 高压 gem 生成 PDF 文件。
有人这样做过吗?
我希望能够在 heroku 上托管这个,所以如果有任何gotacha's
我想提前了解这些。
我目前的实现是一个基本的 Rails 3.2 应用程序,安装了高压 gem 和 pages 子目录下的许多视图。
- 页面/帮助/用户
- 页面/帮助/产品
- 页面/帮助/订单
我的 html 页面中有图像,不确定这是否会导致并发症。
编辑: 根据提供的答案添加了控制器,因为Rails 3.2.3,Lion上的Ruby 1.9.3-p125仍然存在wicked_pdf问题
class PagesController < HighVoltage::PagesController
def show
respond_to do |format|
format.html do
super
end
format.pdf do
#render :pdf => "pdf_file" # wicked_pdf syntax here
render :pdf => :id,
:layout => 'application',
#:template => 'help/products/product_tolerance.html.erb',
:template => 'pages/#{:id}.html.erb',
:show_as_html => params[:debug],
:footer => {
:left => "Generated on @now",
:centre => "Centre",
:right => "Page # of page(s)"
}
end
end
end
end
路由文件包含:
match "/pages/*id" => 'pages#show', :as => :page, :via => :get, :format => false
:格式应该为真吗?在控制器和high_voltage
覆盖高压页面控制器,如下所述:https://github.com/thoughtbot/high_voltage#override
然后安装 pdfkit 或 wicked_pdf(html 到 pdf 转换器(并将它们挂接到该控制器以创建 PDF 版本:
class PagesController < HighVoltage::PagesController
def show
respond_to do |format|
format.html do
super
end
format.pdf do
render :pdf => "pdf_file" # wicked_pdf syntax here
end
end
end
end