Apache+Mongrelの仕組みで、link_toは正しいurlを生成できない

Linux+Mongrelの仕組みで、Railsアプリのサーバを立てた。Mongrelさーばのportは3000です。Apacheはプロキシ・サーバとして、’http://127.0.0.1/memory’へのrequestをMongrelサーバに転送する。然し、ビューの中、link_toで生成したリンクについて、’/memory’がなかった。

これは、Mongrelサーバがrelative_url_rootを自動的に取得できないのせいだ。

Environment.rbの中に、

ActionController::AbstractRequest.relative_url_root = “/memory”を追記すると、< %= link_to :controller => ui, :action => ‘login’ %>ようなケースを直せる。

ただ、link_toに直接にurlを書くケースはまたできない。リンクの前に、request.relative_url_root の追加が必要です。

< %= link_to(h(@content.name), “#{request.relative_url_root}/ui/contents/#{@content.id}/original”) %>

また、relative_url_rootを記述したくないリンクは、:skip_relative_url_root => true を追加しましょう。

你可能感兴趣的:(apache,UI,linux,Rails)