我目前正在使用 Rails 7 和 wicked pdf 。即使我在确切的位置有模板文件,邪恶的 pdf 也会给我一个丢失模板的错误?我做错了什么?
def show
respond_to do |format|
format.html
format.pdf do
render pdf: "file_name", template: "stocks/pdf.html.erb"
end
end
end
我做错了什么? 如果重要的话,我将 tailwindcss 与 jsbuild 一起使用。
如果您的模板是
stocks/pdf.html.erb
,您的渲染应如下所示:
format.pdf do
render pdf: "file_name", template: "stocks/pdf", formats: [:html]
end
让我知道这是否适合您。
干杯
就我而言,只有当我这样做时它才有效:
<%= link_to "File", data_path(data, format: :pdf) %>
在订单控制器中:
def data
format.pdf do
render pdf: "file_name", template: "orders/data", formats: [:html]
end
end
该文件位于“orders/data.html.erb”路径中
如果您从 Rails 6 移动到 Rails 7,那么您需要删除针对任何属性(包括布局)定义的
.html.erb
。
render pdf: "receipt", template: 'pdf/receipt.html.erb', layout: "pdf.html.erb", formats: [:html]
render pdf: "receipt", template: 'pdf/receipt', layout: "pdf", formats: [:html]