当前位置: 动力学知识库 > 问答 > 编程问答 >

omniauth - What's the best way to get the hostname from the env hash in a Rails app?

问题描述:

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.

分享给朋友:
您可能感兴趣的文章:
随机阅读: