2012-03-05 4 views
3

複数のRailsサーバインスタンスがあり、それぞれがenvironment.rbのリスニングポートを知る必要があります。 request.portはコントローラでは動作しますが、environment.rbのコンテキストでは動作しません。方法はありますか?ありがとう!Railsイニシャライザでサーバポートを取得する方法

+0

好奇心で、なぜこれを知る必要がありますか? –

+0

@andrew、ありがとうございます。私は、ここでコミュニティの集団を集めたところで質問されると思った:)簡単な答えは、各サーバーインスタンス内から同じポートで一致するUDPソケットを開くつもりであるということです。あなたがUDPポートの必要性について興味があるかどうか質問してください:) – timeon

+0

私はちょうどそれが特に良いアイデアだとは思わない。あなたの実際のWebサーバー(nginx、apacheなど)はこのIMOを処理する必要がありますが、私はそのような設定の経験はあまりありません。 –

答えて

0

あなたはこのコードを使用して実行しているレールポートを取得することができます。

Rails::Server.new.options[:Port] 

あなたは、ハッシュパラメータが利用可能であるか確認するためにoptions parser in the Rails documentationを見てみることができます。

+0

私はこれと混在しています。ある場所で私はそれを使用することができました。別の場所で、私は '初期化されていない定数Rails :: Server'を持っています...まだこれを理解しようとしています。 – Andrew

+0

これが動作しても、これは現在のオプションではなく、デフォルトのオプションだけを返します。 – Andrew

関連する問題