Forum: Ruby on Rails define relative url

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ad745a3a6bdc249a7b34a0b6f5c8d5ec?d=identicon&s=25 Luca Scaljery (jeanluca)
on 2008-11-05 16:46
Hi All

Because my app is running behind Apache my RoR helpers generate an
incorrect url

For example: http://my.website.com/xyz/users
  becames:   http://my.webiste.com/users

So I tried to set the relative path to 'xyz' like

ActionController::AbstractRequest.relative_url_root = '/xyz'


$> ./script/server
\=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.1.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
Exiting
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:279:in
`load_missing_constant': uninitialized constant ActionController
(NameError)
  from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:in
`const_missing'
  from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:480:in
`const_missing'
  from /srv/backend/config/environment.rb:66
  from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:95:in
`run'
  from /srv/backend/config/environment.rb:17
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
  from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in
`require'
   ... 23 levels...
  from /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/server.rb:39
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
  from ./script/server:3

thnx a lot
LuCa
5f3d52658aafcf0aabe76a5147e8909f?d=identicon&s=25 TomRossi7 (Guest)
on 2008-11-06 00:22
(Received via mailing list)
Luca,

I run my Rails apps behind an Apache server and don't have that
issue.  It seems like your best bet would be to work on your Apache
config and not your Rails config (assuming you have control over the
server).  You should be able to point the Apache server right to the
root of your app.  Post some of your Apache config if you want more
help with it...

--Tom

On Nov 5, 10:46 am, Luca Scaljery <rails-mailing-l...@andreas-s.net>
Ad745a3a6bdc249a7b34a0b6f5c8d5ec?d=identicon&s=25 Luca Scaljery (jeanluca)
on 2008-11-06 08:35
thnx for your reply!

Here is the part of the apache config dealing with my mongrel cluster:

  RewriteRule ^/backend/(.*)$ balancer://mongrel_cluster/$1 [P,QSA,L]
  RewriteRule ^/rails/(.*)$    /test/current/public/$1    [PT]

I think its only the first line I'm using!

Furthermore I've plans to use to 'phusion passenger' (apache module),
maybe it will solve this problem! Also I found the following plugin:
relative_path, which fixed this issue (at least I can continue now)

However, I would like to fix this problem on the Apache level, if
possible!

Cheers
LuCa


TomRossi7 wrote:
> Luca,
>
> I run my Rails apps behind an Apache server and don't have that
> issue.  It seems like your best bet would be to work on your Apache
> config and not your Rails config (assuming you have control over the
> server).  You should be able to point the Apache server right to the
> root of your app.  Post some of your Apache config if you want more
> help with it...
>
> --Tom
>
> On Nov 5, 10:46�am, Luca Scaljery <rails-mailing-l...@andreas-s.net>
This topic is locked and can not be replied to.