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ヘッダーから取得)を取得することもできます。