12

I am using 'rails', '4.2.5' and wicked_pdf gem for generating and downloading PDF, but on Heroku, it's not including css using wicked_pdf_stylesheet_link_tag tag.

Heroku error log:

ActionView::Template::Error (undefined method 'find_asset' for nil:NilClass) 

Did I miss any configuration here?

sawa
  • 165,429
  • 45
  • 277
  • 381
RockStar
  • 1,304
  • 2
  • 13
  • 35

2 Answers2

51

To get it work for development and production environment don't use

Rails.application.assets.find_asset(logical_file_path).to_s

for sprockets-rails version > 3.0.0 but use this (requires gem compass-rails):

CompassRails.sprockets.find_asset(logical_file_path).to_s

If you don't use gem compass-rails you can get the asset with:

(Rails.application.assets || ::Sprockets::Railtie.build_environment(Rails.application)).find_asset(logical_file_path).to_s
phlegx
  • 2,618
  • 3
  • 35
  • 39
  • If you use the statements above to check if an asset exists, remove the little to_s in the end because ``nil.to_s = "" = true`` – RobDil Jan 26 '17 at 17:54
6

A simple Google search, revealed that this error was reported in the official wicked_pdf repo in December.

Setting assets.compile = true as recommended in the issue would fix it. This change should not be necessary with sprocket-rails != 3.0.0

Simone Carletti
  • 173,507
  • 49
  • 363
  • 364