Heroku and tmp folder

In my Rails app I have delayed_job gem to delay all the emails, the problem with this appear when I want to have some attachments in the emails, in development I store then in tmp folder.
I Heroku I thought that might be possible as well but I get the error the there is no file in that folder.

This is my code inside my controller:

def send_bill

@sale = Sale.find(params[:id])

@client = @sale.client

create_pdf(@sale, @client)

PdfMailer.delay.send_pdf_info(@client, current_user.email)

@bill.update(sent: true)

flash.now.notice = “Bill was sent successfully”

render :show


The method create_pdf is the one that create the pdf and store it in the tmp folder.

def create_pdf(sale, client, is_bill = true)

name = is_bill ? “factura.pdf” : “presupuesto.pdf”

action = is_bill ? “bills/show” : “bills/budget”

@sale = sale

@client = client

@bill = @sale.bills.first if is_bill

file = File.new("#{Rails.root}/tmp/#{name}", “w+”)

kit = PDFKit.new( render_to_string(action: “#{action}”, layout: ‘pdf’, format: “pdf”), :page_size => ‘A4’)

file = kit.to_file(file.path)


Inside my mailer the code is:

def send_pdf_info(client, current_user_email)

@client = client

attachments[“Factura.pdf”] = File.read(#{Rails.root}/tmp/factura.pdf")

mail(to: default_to(@client.email), bcc: current_user_email, subject: “Factura Printoria”)


I’m not able to solve this.

Any help will be really appreciated.

Heroku does not provide access to a file system.

Look into cloud storage providers, e.g. Amazon S3, Rackspace
Cloud Files, etc.

Thanks. I read some more and I’m going to use amazon S3.