I know this must be a configuration error on my part but I can't figure it out. I have a Rails application running on a sub-URI, and within that I have sevearl different controller/entry points. So in my httpd.conf file I've got the appropriate statements: RailsBaseURI /foo RailsBaseURI /bar RailsBaseURI /baz
Then in my docroot I've got softlinks appropriately:
ln -s /html/rails/myapp/public /html/docroot/www/foo ln -s /html/rails/myapp/public /html/docroot/www/bar ln -s /html/rails/myapp/public /html/docroot/www/baz
And lastly in /html/rails/myapp/app/controllers I've got: foo_controller.rb bar_controller.rb baz_controller.rb
I've done no special manipulations to the config/routes.rb file.
This has all been working fine, in production, for months. if I point to foobar.com/foo I go to the right place.
However for a new project I added a fourth controller, we'll call it /quux. I did all of the above, creating a base uri, a soft link, and my controller.
What's weird is that when I try to deploy it I'm constantly getting an error "No route matches "". What appears to be happening is that something in the process is eating my controller name, because if I point to /quux/quux, then the quux controller is invoked just fine. So Passenger is recognizing that it should hand off the request to my Rails app, but my apps basically getting "" as a request and there is no default route.
The other links work fine, and from everythign I can tell they are set up the exact same (but, obviously, they must not be). I could swear I've seen a similar "have to double the reference in the URI" problem in the past, but I can't find it now that I need it. I've been searching, and found plenty of examples of setting up a sub-URI with Passenger, but nothign really dealing with this odd problem of the controller name not getting passed along.