рендеринг PDF с использованием креветки в качестве приложения actionmailer - PullRequest
0 голосов
/ 28 августа 2018

Контекст: почему я отправляю PDF по электронной почте? Потому что я пытаюсь отправить его на принтер HP в офис из приложения Rails, работающего на AWS. Я могу отправлять вложения в формате PDF на адрес электронной почты, предоставленный HP, и он печатается на принтере. Это должно быть вложение, оно не может быть встроенным.

Стек: Rails 5.0.2, OSX для разработки, Ubuntu 16.04 для производства

Проблема: у меня есть шаблон Prawn, который генерирует PDF, он прекрасно работает при вызове из ActionController, но не работает внутри ActionMailer.

Из этого вопроса Stackoverflow Rails 3 рендеринга Prawn pdf в ActionMailer Я пытался

attachments["customer_order_#{@order.order_number}.pdf"] = render_to_string('picksheet/send_picksheet.pdf', :type => :prawn)

и получил эту ошибку undefined method "response" for #<PicksheetMailer:0x007fcfa506f258> Did you mean? response_body

Таким образом, ответ работал в Rails 3, но не в Rails 5. Ошибка возникает в первой строке шаблона креветки, где он генерирует вывод. Похоже, он пытается записать в response, который существует внутри ActionController, но не в ActionMailer.

Есть мысли?

...