Таблица стилей не загружается, пока render_to_string готовит страницу. Wicked_pdf - PullRequest
0 голосов
/ 07 апреля 2019

Я использую wicked_pdf для создания отчетов в формате PDF.Загрузка со страницы работает отлично.

Теперь я пытаюсь отправить pdf в виде почтового вложения без сохранения файла.

reports_controller.rb

def send_personal_report
  pdf_html = render_to_string(template:'personal.pdf', layout: 'pdf.html')
  pdf = WickedPdf.new.pdf_from_string(pdf_html)
  UserMailer.report_email(pdf).deliver_now
end

layouts / pdf.html.erb

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<%= wicked_pdf_stylesheet_link_tag "custom" %>
<title>Отчет</title>
<meta name="description" content="">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>

<body>
  <%= yield %>
</body>

stylesheets / custom.scss

@import "bootstrap-sprockets";
@import "bootstrap";

user_mailer.rb

def report_email(pdf) 
  attachments['report.pdf'] = {mime_type: 'application/pdf', content: pdf}
  mail(to: 'test@domain.com', subject: 'Report')
end

но после всего моего вложения в электронной почте простонеобработанный HTML.

1 Ответ

0 голосов
/ 09 апреля 2019

Попробуйте установить формат (при условии, что у вас есть шаблоны html.erb и text.erb):

def report_email(pdf) 
  #attachments['report.pdf'] = {mime_type: 'application/pdf', content: pdf}
  mail(to: 'test@domain.com', subject: 'Report') do |f|
    f.text
    f.html
    f.pdf do
      attachments['report.pdf'] = {mime_type: 'application/pdf', content: pdf}
    end
  end
end
...