Контекст: почему я отправляю 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.
Есть мысли?