无法使用搜索结果在Rails中生成带有wicked_pdf的pdf

时间:2018-11-01 16:52:16

标签: ruby-on-rails pdf wicked-pdf respond-to

大家好,我正在尝试在rails中使用wicked pdf。 根据查询所生成的对象@questions

获取pdf

下载pdf时,查询数据丢失。 当我访问“ /simulators.pdf”时,它在控制台中显示以下错误

Started GET "/simulators.pdf" for 127.0.0.1 at 2018-11-01 12:38:19 -0500
Processing by SimulatorsController#index as PDF
Test Load (0.2ms)  SELECT  "tests".* FROM "tests" WHERE "tests"."name" IS NULL LIMIT $1  [["LIMIT", 1]]
CACHE Test Load (0.0ms)  SELECT  "tests".* FROM "tests" WHERE "tests"."name" IS NULL LIMIT $1  [["LIMIT", 1]]
Completed 500 Internal Server Error in 3ms (ActiveRecord: 0.2ms)

NoMethodError (undefined method `id' for nil:NilClass):

控制器:

def index
  @test = Test.find_by(name: params[:test])
  @questions = TestQuestion.joins(:test).where(test_id: @test.id).order('RANDOM()').limit(10)
  respond_to do |format|
    format.html
    format.pdf { render template: 'simulators/pdf', pdf: 'pdf'}
  end
end

URL:

http://localhost:3000/simulators?test=biology

这是索引视图的网址

你能帮我吗? 非常感谢

1 个答案:

答案 0 :(得分:0)

那是因为当您要求pdf时,您也需要在网址中发送查询

list3 = list2[:3]

如果您没有在url中发送变量,那么您正在执行的搜索将为nil,这就是您遇到的错误。