Skip to content

Instantly share code, notes, and snippets.

@mrbongiolo
Last active February 27, 2023 00:16
Show Gist options
  • Star 28 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save mrbongiolo/63cce06b1b49c99fdb9a to your computer and use it in GitHub Desktop.
Save mrbongiolo/63cce06b1b49c99fdb9a to your computer and use it in GitHub Desktop.
HOW TO: Rails 4.2 add 'vendor/asset' to precompile list

To enable the precompilation of all non.js/.css assets within vendor/assets just add this to config/initializers/assets.rb:

Rails.application.config.assets.precompile << Proc.new { |path, fn| fn =~ /vendor\/assets/ && !%w(.js .css).include?(File.extname(path)) }

Be aware that this will precompile ALL non .js/.css assets that you have there, some plugins or libraries might have .txt or other files around, and those would end up into your precompiled list also.

If you need to precompile images only, you could use this:

Rails.application.config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
# or this
Rails.application.config.assets.precompile << /\.(?:png|jpg|jpeg|gif)\z/

If you need to precompile fonts only, you could use this:

Rails.application.config.assets.precompile += %w(*.svg *.eot *.woff *.ttf)
# or this
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/

If you would like to precompile everything within vendor/assets/images:

Rails.application.config.assets.precompile << Proc.new { |path, fn| fn =~ /vendor\/assets\/images/ }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment