Rails: Отправить PDF-файл, созданный с креветкой, на электронную почту, отправленную ActionMailer? - PullRequest
3 голосов
/ 27 июля 2010

У меня есть приложение для электронной коммерции. Я использую Prawn для создания счетов-фактур заказов в формате PDF. Я использую стандартную установку креветок. В views / admin / orders у меня есть файл с именем show.pdf.prawn. Когда продавец просматривает заказ в своем разделе администратора, он щелкает ссылку, которая открывает PDF-версию представления заказов / шоу. Это все работает отлично.

Теперь сложная часть. Когда заказ будет выполнен, я отправлю письмо продавцу. То, что я хотел бы сделать, это прикрепить PDF-версию заказа / шоу к этому письму. Можно ли сделать это? Документация по вложениям электронной почты довольно ограничена, и мне не удалось найти ресурсы, которые проходят через описываемый мной рабочий процесс.

Любое руководство приветствуется.

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

Отправка вложения по электронной почте с ActionMailer довольно проста:

class InvoiceMailer < ActionMailer::Base

  def email_with_attachment(pdf_invoice)
    .
    .
    .

    attachment "application/pdf" do |a|
      a.filename = "some_invoice.pdf"
      a.body = pdf_invoice
    end
  end

end

Одна из проблем, с которой вы можете столкнуться при этом, - это создание файла pdf вне метода prawnto (при использовании плагина prawnto) - ЕслиВ этом случае я настоятельно рекомендую вам использовать этот подход .

0 голосов
/ 02 декабря 2013

У меня была такая же проблема, мне удалось это сделать, сгенерировав pdf из модели, гораздо проще, чем оценить шаблон. Я ответил с ответом здесь:

Сохранить PDF-файл с креветками как вложение в виде скрепки?

...