Мое приложение создает файл .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