elektronautが示したように、これはおそらくプロキシの構成で処理する必要があるものです。そうは言っても、ActiveSupport :: UrlFor#url_forには役立つ情報がいくつかあります。http://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/routing/url_for.rbをご覧ください
つまり、url_forやlink_toの呼び出しに2つの引数を渡すことです。最初は:port => 123
引数であり、2番目は:only_path => false
ドメインやポートなどを含む完全なリンクを生成するためのものです。
したがって、リンクを生成するときは、次のようにします。
link_to 'test', root_url(:port => 80, :only_path => false)
カスタムURLを作成するときは、次のようにします。
url_for :controller => 'test', :action => 'index', :port => 80, :only_path => false
リダイレクトの場合:
redirect_to root_url(:port => 80, :only_path => false)
これがお役に立てば幸いです。そうでない場合は、URLの生成方法、レールが生成するもの、生成するものについて具体的に教えてください。
更新:
私はこれに気づいていませんでしたが、リンクやURLを生成する他のすべてのものによって使用されるurl_forでURLのrails生成のデフォルトを設定できるようです。ここにそれについての良い記事があります:http://lucastej.blogspot.com/2008/01/ruby-on-rails-how-to-set-urlfor.html
またはあなたのためにそれを要約すると:
これをあなたに追加してくださいapplication_controler.rb
def default_url_options(options)
{ :only_path => false, :port => 80 }
end
この:
helper_method :url_for
最初のブロックはコントローラーにデフォルトを設定し、2番目のブロックはurl_forヘルパーがコントローラーにあるものを使用するようにするため、デフォルトはそれにも適用されます。