У меня есть драгоценный камень "wicked_pdf" и драгоценный камень "combine_pdf" в приложении Rails 3.2. Он отлично работает, если я показываю PDF в браузере.
Я хотел бы отправить по электронной почте PDF. Мой текущий код отправляет электронное письмо, но 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 работает нормально, когда я отображаю в браузере.
Спасибо за помощь!