Asset filtered out and will not be served: add `config.assets.precompile
Ideally, the solution by @zmilojko works but I also have active admin in this app.. hence after looking a little further I found the following solution:
Rails.application.config.assets.precompile += %w(*.svg *.eot *.woff *.ttf *.gif *.png *.ico)
Rails.application.config.assets.precompile << /\A(?!active_admin).*\.(js|css)\z/
Just add the lines above to: /config/initializers/assets.rb
The code above precompiles assets while skipping active admin files. so that they are not processed twice or out of turn leading to errors.
Responding to urging from Heroku, the Rails maintainers have merged sanity checks from the sprockets_better_errors gem into Rails 4.1. See https://github.com/rails/sprockets-rails/pull/84
The intent is to reveal asset pipeline errors that you would see in production when you run the app in development mode.
You probably are using a javascript_include_tag
in an application layout instead of placing your JavaScript files in the app/assets/javascripts/ folder.
You could move your files to the app/assets/javascripts/ folder.
Alternatively, you'll need to update your config/application.rb file to include:
config.assets.precompile += %w( my_js )
Note that the filename should not include the .js file extension.
Yes, reading the error on the browser, all I did was add the following line of code:
Rails.application.config.assets.precompile += %w( depot.css )
To the /config/initializers/assets.rb file and it worked.
If you have added something like stylesheet_link_tag params[:controller]
to your application layout header, because you have separate JS applications on different controllers but with same basic layout, you will be quite annoyed with this. Quick way to get over this and continue work (but maybe not a final solution) with all assets precompiled is to add the following to the /config/initializers/assets.rb:
Rails.application.config.assets.precompile += [/.*\.js/,/.*\.css/]
Note that this is as it is even for .js.coffee
and .css.scss
, .js
and .css
are enough.