What does require_self mean?
Ruby on-Rails-3.1SprocketsRuby on-Rails-3.1 Problem Overview
In rails3.1 application.css
we could see
/*
*= require_self
*= require_tree .
*/
I know that require_tree .
is just telling the system to bundle together everything from the stylesheets folder into a single file.
But what does require_self
tells?
Ruby on-Rails-3.1 Solutions
Solution 1 - Ruby on-Rails-3.1
From http://guides.rubyonrails.org/asset_pipeline.html:
/* ...
*= require_self
*= require_tree .
*/
"In this example require_self is used. This will put the CSS contained within the file (if any) at the top of any other CSS in this file unless require_self is specified after another require directive."
Solution 2 - Ruby on-Rails-3.1
Shedd's answer used to be correct but now the meaning has changed ever so slightly;
Again, from http://guides.rubyonrails.org/asset_pipeline.html (bolding my own):
> In this example require_self is used. This puts the CSS contained within the file (if any) at the precise location of the require_self call. If require_self is called more than once, only the last call is respected.
So you can have require_self
at any point, and any CSS you have in the file will be injected into the point you wrote require_self
Solution 3 - Ruby on-Rails-3.1
//= require_self
It loads the file itself, to define the order that the files are loaded.