Re: Problem with RailsDispatcher
Andre Nathan <[email protected]> Sat, 02 Dec 2006 22:40:13 -0200
| Newsgroups | gmane.comp.apache.mod-ruby |
|---|---|
| Message-ID | <[email protected]> |
Erm... OK, this was totally my fault :( The thing is, my application used a model's class name to build some strings, and I had to do that dynamically. However, in mod_ruby, it seems everything becomes a subclass of Apache::RailsDispatcher::CURRENT_MODULE, so where the application was expecting "Foo", it was getting "Apache::RailsDispatcher::CURRENT_MODULE::Foo". I fixed the code and everything works now :) Still, I had to apply the following change to rails-dispatcher.rb, on line 101: -if !/\Adispatch\.(cgi|fcgi|rb)\z/.match(r.filename) && +if !/dispatch\.(cgi|fcgi|rb)\z/.match(r.filename) && This is because r.filename contains the full path to dispatch.rb, and the \A makes it not match. Thanks Kim and Mat for the replies. Best regards, Andre On Thu, 2006-11-30 at 15:54 -0200, Andre Nathan wrote: > Hello > > I'm having some trouble trying to configure mod_ruby 1.2.6 with > RailsDispatcher. When I access my application, the browser shows the > contents of dispatch.rb. > > Here's the configuration I'm using: > > > RubySafeLevel 0 > RubyRequire rubygems > RubyRequire apache/rails-dispatcher > RubyTransHandler Apache::RailsDispatcher.instance > > <VirtualHost x.y.z.w> > ServerName myapp.foo.com > ServerAlias www.myapp.foo.com > > DocumentRoot /var/www/rails/myapp/public/ > > <Directory /var/www/rails/myapp/public/> > Options ExecCGI FollowSymLinks IncludesNOEXEC Indexes > AllowOverride All > Order allow,deny > Allow from all > </Directory> > > SetHandler ruby-object > RubyHandler Apache::RailsDispatcher.instance > RubyOption rails_uri_root / > RubyOption rails_root /var/www/rails/myapp > RubyOption rails_env production > > SetOutputFilter DEFLATE > </VirtualHost> > > > I did some debugging in rails-dispatcher.rb, and in the #handler method, > I noticed it's returning DECLINED at the beginning, because the > r.filename contains the whole path to dispatch.rb, and thus doesn't > match /\Adispatch\.(cgi|fcgi|rb)\z/. Anyone seen this problem too? > Removing the "\A" from the regex makes it match, but then I get some > strange errors (stack level too deep) which don't happen in CGI mode. > > Anything obvious I could be missing? > > Thanks > Andre > >