Как мне прикрепить файл .pdf, созданный с помощью креативов, к электронному письму в Rails 2.3.5 ?

Мое приложение создает файл .pdf при его визуализации, передавая его по URL-адресу (например, domain.com/letter/2.pdf)

Он нигде не сохраняется.

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

Вот моя почтовая программа:

  def campaign_email(contact,email)
    subject    email.subject
    recipients contact.email
    from       'Me '
    sent_on    Date.today

    attachment = File.read("http://localhost:3000/contact_letters/#{attachment.id}.pdf")

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

Это контроллер, который создает / отображает PDF:

def create
    @contact_letter = ContactLetter.new(params[:contact_letter])

    @contact = Contact.find_by_id(@contact_letter.contact_id)
    @letter = Letter.find_by_id(@contact_letter.letter_id)

    if @contact_letter.save
      flash[:notice] = "Successfully created contact letter."

      #redirect_to contact_path(@contact_letter.contact_id)
      redirect_to contact_letter_path(@contact_letter, :format => 'pdf')
    else
      render :action => 'new'
    end
  end

ПРИМЕЧАНИЕ. Я жестко запрограммировал localhost: 3000 / как я могу заменить это переменной, чтобы на dev это был localhost: 3000, а на производстве это правильный домен? Есть ли способ включить в это маршрутизацию?)

ОШИБКА: Я получаю

недопустимый аргумент - http: // localhost: 3000 / contact_letters / 9.pdf

11
задан Timothy T. 26 November 2010 в 18:41
поделиться