Asset Pipeline Basics
Manifests are the handle on your assets:
app/assets/stylesheets/application.css # use via: stylesheet_link_tag 'application'
The asset pipeline only considers files you explicitly require within your manifest files. The most common directives used in manifests are
require some/file and
require_tree some/directory. Paths may be relative to the current directory or any of the asset search paths (see below).
Assets search path
By default, the following directories are considered, in the given order:
app/assets # for application stuff lib/assets # for stuff that does not seem to fit into app/assets vendor/assets # for external stuff
Asset pipeline files may be grouped using an
index file and then be used by simply requiring the directory they live in.
Index files are just sub-manifests. The need the corresponding file ending (e.g.
If there is an index file
app/assets/stylesheets/blocks/index.css, you may simply require
blocks in your application manifest. The index file is in charge of requiring the relevant files below its directory.
app assets stylesheets application.css blocks index.css foo.css.sass bar.css.sass
# app/assets/stylesheets/blocks/index.css *= require foo *= require bar
# app/assets/stylesheets/application.css *= require blocks
One step in debugging the asset pipeline is to check the precompilation results. You can do this locally using the following commands:
rake assets:precompile # precompiles to Rails.root/public/assets rake assets:clobber # deletes the public/assets directory
After precompilation, you can check the generated files in
public/assets for correct URLs in CSS files etc.