Augusto
Augusto

Reputation: 1150

How to precompile a pdf asset in Rails?

In Rails 3.2.11 app I'm trying to publish my app to Heroku.

In the assets folder I have a pdf subfolder with some pdf files inside.

In my production.rb file I have added the following:

config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif *.pdf]
config.assets.precompile += ["*.js"]
config.assets.precompile += ["*.css"]
config.assets.precompile += ['pdf/*']
config.assets.precompile += %w( ricerca_wg.pdf  )

If I check the pdf assets paths on my console I get:

Rails.application.config.assets.paths
# [
#   "/Users/Augusto/Sites/wisegrowth/app/assets/images",
#   "/Users/Augusto/Sites/wisegrowth/app/assets/javascripts",
#   "/Users/Augusto/Sites/wisegrowth/app/assets/pdf",
#   "/Users/Augusto/Sites/wisegrowth/app/assets/stylesheets",
#   "/Users/Augusto/Sites/wisegrowth/vendor/assets/javascripts",
#   "/Users/Augusto/Sites/wisegrowth/vendor/assets/stylesheets",
#   "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/jquery-rails-2.3.0/vendor/assets/javascripts",
#   "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/coffee-rails-3.2.2/lib/assets/javascripts",
#   "/Users/Augusto/.rvm/gems/ruby-1.9.3-p551/gems/formtastic-2.1.1/app/assets/stylesheets"
# ]

But when I run

rake assets:precompile RAILS_ENV=production

everything is precompiled BUT the pdf files and in my production app on Heroku I get the following error:

ActionView::Template::Error (ricerca_wg.pdf isn't precompiled):

Upvotes: 12

Views: 1195

Answers (2)

xploshioOn
xploshioOn

Reputation: 4115

I don't think a pdf must be "precompiled".

if you just want to access the pdf from your app without using another service like S3, you can just put that pdf folder on your public folder of the rails app, and they will be available on the app as an static file.

www.domain.com/pdf/ricerca_wg.pdf

just be sure that the public/pdf folder isn't in the gitignore and it must work.

Upvotes: 6

Andrey Deineko
Andrey Deineko

Reputation: 52357

I believe the ricerca_wg.pdf is under /Users/Augusto/Sites/wisegrowth/app/assets/pdf/? If not, simply

  • remove config.assets.precompile += %w( ricerca_wg.pdf )
  • move ricerca_wg.pdf under /Users/Augusto/Sites/wisegrowth/app/assets/pdf/ - it should be precompiled along with other pdf files from this directory

Upvotes: 2

Related Questions