Не могу сгенерировать pdf с wicked_pdf в рельсах, используя результаты поиска - PullRequest
0 голосов
/ 01 ноября 2018

Привет всем, я пытаюсь использовать злой PDF в рельсах. Получить PDF на основе объекта, сгенерированного запросом, @ questions

При загрузке 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

Это URL индексного представления

Вы можете мне помочь? Большое спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

потому что, когда вы запрашиваете PDF, вам нужно отправить запрос и в URL

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

если вы не отправите переменную в URL, то поиск, который вы выполняете, будет нулевым, это ваша ошибка.

...