2012-02-26 14 views
18

ホストを使用して別のポートのURLを構築する必要があります。例えばRails:現在のホストを取得する方法、またはURLを作成する方法は?

、ホストがexample.comであれば、私はhttp://example.com:8080/

のようなURLを生成する必要が私はそれが移植可能にする必要があるので、私は私の地元の環境には、だときは、代わりにhttp://localhost:8080/を示しています。

アイデア?

@hostname = request.host || "www.mydomain.com" 

あなたはまた、要求が経由して来たポート番号を取得するためにrequest.portを使用することができます(から撮影:

答えて

34

は、私は多くの場合、ホスト名を持つインスタンス変数、このようなものを設定するApplicationControllerbefore_filterを使用しますHTTPヘッダー)。

+0

request.hostもビューにうまく働いたURLの使用からホストを抽出するには、おかげで - それはのように行うことができます – HappyDeveloper

6

基本的には、現在のURLとその他のポート番号に基づいてURLを生成する必要があります。

request.url(:port => 20) 

レールコンソール

app.root_url(:port => 20) 
=> "http://www.example.com:20/" 

request.host 
関連する問題