У меня есть gem 'wicked_pdf' и gem 'comb_pdf' в приложении Rails 3.2. Он отлично работает, если я показываю PDF в браузере.Rails 3 Отправить по электронной почте wicked pdf issue
Я хотел бы написать письмо по электронной почте. Мой текущий код посылает по электронной почте, но PDF просто мусор:
Это код контроллера:
def pdfemail
@costprojects = Costproject.find(params[:costproject_ids])
respond_to do |format|
format.html
format.pdf do
pdf = CombinePDF.new
@costprojects.each do |costproject|
@costproject = costproject
pdf2 = render_to_string pdf: "Costproject.pdf", template: "costprojects/viewproject", encoding: "UTF-8"
pdf << CombinePDF.parse(pdf2)
costproject.attachments.each do |attachment|
pdf << CombinePDF.parse(Net::HTTP.get(URI.parse(attachment.attach.url)))
end
end
pdf = pdf.to_pdf
SendReport.send_report(pdf).deliver
redirect_to :back
flash[:notice] = 'Email containing pdf has been sent to you!'
end
end
end
И это моя почтовая программа:
def send_report(pdf)
tomail = "[email protected]"
frommail = "[email protected]"
attachments['Report.pdf'] = pdf
mail(
:to => tomail,
:from => frommail,
:subject => "Report pdf")
end
Опять - форматирование pdf прекрасно работает при отображении в браузере.
Спасибо за помощь!
Мой код контроллера используется для выбора нескольких costprojects вместе с любыми приложениями S3 они имеют. Код контроллера работает нормально, если я отображаю полученный pdf в браузере. – Reddirt