Какой лучший способ получить имя хоста из хеша env в приложении Rails? - PullRequest
1 голос
/ 14 декабря 2011

Я пишу динамический провайдер OmniAuth , и при обратном вызове мне нужно получить текущее имя хоста (приложение работает с несколькими разными именами хостов). У меня нет объекта запроса, просто большой хеш env. Я обнаружил, что этот хеш содержит запись env ["SERVER_NAME"] с именем хоста, но я не уверен, является ли эта запись стабильной или она может измениться в зависимости от веб-сервера или чего-то подобного.

Я также нашел имя хоста, похороненное в env ["action_dispatch.routes"] в переменной-члене @ host.

Какие-нибудь идеи, каков наилучший или канонический способ получить имя хоста на данный момент?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2012

Приложение еще не запущено, но пока частная бета-версия, использующая env["SERVER_NAME"], работает как шарм.

1 голос
/ 14 декабря 2011

В контроллере rails вы можете просто использовать:

request.host

Хотя я не уверен, что эти источники чем-то отличаются от того, на что вы уже смотрели.Это прекрасно работает для меня в приложении Rails 3.1, над которым я работаю.

...