Need help deploying rails engine

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
Engineshttp://guides.rubyonrails.org/engines.htmlRails 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.

Problem solved.

The namespaced paths generated by engine.path need to be modified by
prefixing them with the applications base path. I use the apache
RewriteRule for this:

RewriteRule ^/engine/?(.*) /app/engine/$1 [R]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs