Как я могу прикрепить несколько файлов к письму ActionMailer объект? (Без прикрепления нескольких ненужных текстовых файлов.)

Я успешно сгенерировал и отправил электронное письмо со следующим кодом.

class UserMailer < ActionMailer::Base
  default :from => 'user@user.com',
          :date => Time.now

  def new_user(user)
    mail_subject = ['WELCOME TO ACME, INC', 'USER ACTIVATION']
    @user = user

    mail.attachments['File One.pdf'] = File.read(File.join(ATTACHMENT_DIR, 'shared', 'file_one.pdf'))
    mail.attachments['File Two.pdf'] = File.read(File.join(ATTACHMENT_DIR, 'shared', 'file_two.pdf'))
    mail.attachments['File Three.pdf'] = File.read(File.join(ATTACHMENT_DIR, 'shared', 'file_three.pdf'))
    mail.attachments['File Four.pdf'] = File.read(File.join(ATTACHMENT_DIR, 'shared', 'file_four'))

    mail( :to      => user.address.email,
          :subject => mail_subject.join(' ~ ').upcase )

  end
end

Однако электронное письмо содержит три текстовых документа, которые идентичны содержанию тела письма . Представление, которое я использую для почтовой программы, называется new_user.text.erb.

Я подозреваю, что для каждого PDF-документа, который я прикрепляю, также создается простой текстовый документ, первый из которых является фактическим телом документа электронной почты, а остальные три прилагаются вместе с документами в формате pdf.

Как я могу прикрепить эти документы в формате pdf, не прилагая также эти (повторяющиеся) текстовые документы? Кто-нибудь еще сталкивался с этим?

7
задан Tass 20 April 2011 в 22:31
поделиться