这可能最终变得非常简单,但我一直试图弄清楚这一点无济于事。我正在使用wicked_pdf在html页面上呈现pdf。当我这样做时,通过将一个respond_to块添加到控制器来显示操作,在转到controller / id.pdf时一切正常。
然而,我要做的是在自定义控制器操作上使用respond_to块。我有一个报告控制器,它有许多报告和自定义操作。其中一个报告具有一个表单,该表单将提交给另一个自定义控制器操作以呈现报告。这一切都适用于html呈现,但是,当我将respond_to块添加到此自定义操作时,它只是告诉我它无法找到该控制器的show动作。以下是相关代码:
的routes.rb
resources :reports do
collection do
get 'customer_summary'
post 'summary_report'
end
end
reports_controller.rb
def summary_report
@tickets = tickets
respond_to do |format|
format.html
format.pdf do
render pdf: "summary_report", header: {spacing: 10, html: {template: 'shared/header'}}, footer: {html: {template: 'shared/footer'}}, margin: { top: 20, bottom: 20 }
end
end
模板exsist以及summary_report.pdf.haml文件。我究竟做错了什么?提前感谢您的帮助!