GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
I have following problem with sprockets: http://stackoverflow.com/questions/7312653/sprockets-require-directory-problem
./ means in the current directory.
If you want
*= require_directory ./yahoo
I'm having the same issue. I don't see why require_directory and require_tree needs a relative path where require does not. I mean, I can do:
//= require foo
//= require_tree bar
//= require_tree ./foo
Thank you @josh, seems I need some kind of proxy file located in my vendor/assets/stylesheets directory. Like a yahoo.css included in my application.css:
*= require_directory ./yahoo
I totally agree with @jacob-carlborg and thanks for the workaround.
I have the problem too,
got require_directory argument must be a relative path
I think this issue should be reopened because several other have the same problem.
sorry , type wrong, should be
Got to the same issue : My use case is that I'm going to configure a load_path at runtime (depending on the plugin I'm using), so in the main file I need to configure "require_directory stores", and stores js files will be added depending on the load_path I have configured.
Please think about reopening and fixing this issue.
I agree, this should not be only relative for require_directory, please consider reopening.
I got this "require_directory argument must be a relative path" issue as well. Solved without proxies by specifying:
*= require_tree ../../../vendor/assets/stylesheets/.
It was not obvious to me, though, as I thought the path should be somehow relative to vendor/assets directory, not the manifest file, hence a lot of trial and error.
Has this still not been addressed? This is obviously a continuing issue...
After a bit more research, I understand this issue a bit more:
*= require_directory ./derp
Equates to looking for files in:
//= require_directory ./derp
So, required_directory does not handle the "vendor" directory tree at all.
This still seems like an issue but whatever...
It don't work for me too, i think the './' was a reference for all the directories who rails see like 'assets', does not matter where is our assets if is in 'vendor', 'lib' or any directory we have set in our config file.
For me, this is a open issue.
The official Rails way to solve this is a little like @jacob-carlborg suggested and is described here.
//= require_tree .
Nevertheless I think we have a bug here. require_directory and require_tree should look in vendor/assets directory, just like require does.
So, @josh you referenced another bug report here, but there still is no explanation why require_directory et al can't work as described here. Is there a technical reason, or is it just out of purity considerations?
To me, and apparently a lot of other people, it seems logical and more intuitive that a require_directory and require_tree should look in all load paths including vendor/assets, exactly like require does. It doesn't make sense, from a UI perspective, that there would be any difference between these two types of directives in where it searches for files.