【发布时间】:2017-09-23 12:25:56
【问题描述】:
我正在使用 wicked_pdf 创建包含数据库内容的 pdf。
首先,我创建一个用户并转发到一个如下所示的页面:
<%= @user.name %>
<%= link_to 'Create PDF', pdf_pages_path(:user_id => @user.id) %>
我的控制器代码:
class PdfPagesController < ApplicationController
def show
@user = User.find(params[:user_id])
respond_to do |format|
format.html
format.pdf do
render pdf: 'file_name'
end
end
end
end
我的路线文件:
Rails.application.routes.draw do
root 'landing#index'
get 'pdf_pages', :to => 'pdf_pages#show'
get 'users/new'
resources :users
end
show.pdf.erb:
<h1>Hello World</h1>
当我尝试打开 show.pdf.erb 时出现此错误:
PdfPagesController#show 缺少此请求格式和变体的模板。 request.formats: ["text/html"] request.variant: []
如果我在没有变量传递的情况下使用 link_to,我会得到同样的错误。
如果我从控制器中删除 @user = User.find(params[:user_id]),请将 link_to 助手替换为 html href 属性并添加 get 'pdf_pages /show' 到 routes.rb 一切正常。
我做错了什么?
【问题讨论】:
标签: ruby-on-rails templates pdf link-to wicked-pdf