ruby-on-rails - 概要 - ruby on rails 機能




Rails:現在のホストを取得する方法、またはURLを作成する方法 (2)

この質問には既に回答があります:

ホストを使用して別のポートのURLを構築する必要があります。

たとえば、ホストがexample.comの場合、 http://example.com:8080/ようなURLを生成する必要があります

ポータブルでなければならないので、私のローカル環境にいるときはhttp://localhost:8080/れます。

何か案は?


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

request.url(:port => 20)

レールコンソール

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

ホストからURLを抽出するには

request.host

私はしばしばApplicationController before_filterを使ってインスタンス変数をホスト名で設定します。

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

また、 request.portを使用して、要求が送信されたポート番号(HTTPヘッダーから取得)を取得することもできます。







host