1

私はOmniAuth 動的プロバイダーを作成しており、コールバックで現在のホスト名を取得する必要があります (アプリはいくつかの異なるホスト名で動作します)。私はリクエストオブジェクトを持っていません。大きなenvハッシュだけです。このハッシュには、ホスト名を含む env["SERVER_NAME"] というエントリが含まれていることがわかりましたが、それが安定したエントリなのか、Web サーバーなどによって変わる可能性があるのか​​はわかりません。

また、メンバー変数 @host の env["action_dispatch.routes"] にホスト名が埋め込まれていることもわかりました。

この時点でホスト名を取得するための最良または標準的な方法は何ですか?

4

2 に答える 2

3

アプリはまだ製品化されていませんが、これまでのところ、プライベート ベータ版を使用env["SERVER_NAME"]すると魅力的に機能します。

于 2012-02-11T18:03:21.840 に答える
1

Railsコントローラーでは、次を簡単に使用できます。

request.host

それがあなたがすでに見たものとは異なるものであるかどうかはわかりませんが. これは、私が取り組んでいるRails 3.1アプリでうまく機能します。

于 2011-12-14T13:33:54.013 に答える