大家好,我正在尝试在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
这是索引视图的网址
你能帮我吗? 非常感谢
答案 0 :(得分:0)
那是因为当您要求pdf时,您也需要在网址中发送查询
list3 = list2[:3]
如果您没有在url中发送变量,那么您正在执行的搜索将为nil,这就是您遇到的错误。