문제

I'm writing an OmniAuth dynamic provider and in the callback I need to get the current hostname (the app works in several different hostnames). I don't have the request object, just a big env hash. I found this hash contains an entry, env["SERVER_NAME"], with the hostname, but I'm not sure if that's a stable entry or it may change depending on the web server or stuff like that.

I also found the hostname buried in env["action_dispatch.routes"] in the member variable @host.

Any ideas what's the best or canonical way to get the hostname at this point?

도움이 되었습니까?

해결책

The app is not in production yet, but so far the the private beta, using env["SERVER_NAME"] worked like a charm.

다른 팁

In a rails controller, you can simply use:

request.host

Though I'm not sure if that sources anything different from what you already looked at. This works fine for me in a Rails 3.1 app I'm working on.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top