I’m having problems deploying a rails application that contains engines.
When I had namespaced routes (Engine::Application.routes.draw) in routes.rb, I was unable to get past the “no such file or directory” errors from apache. The request never got back to the application.
When I used global routes (Rails.application.routes.draw) in routes.rb, I can not direct the request to the namespaced controller. I get “uninitialized constant” with the non-namespaced controller name.
The Getting Started with Engines Rails Guide does not include information on deploying an application containing engines.
The relevant portion of the apache configuration is:
<Directory /var/www/html/links> Options -MultiViews RailsBaseURI /links RailsEnv staging PassengerRuby /usr/local/rvm/rubies/ruby-1.9.3-p484/bin/ruby
/var/www/html/links is a symbolic link to the public directory of the deployed application.
A solution to either problem (namespaced or non-namespaced) is acceptable. A solution with namespaced routes is preferred.