我正在编写一个OmniAuth动态提供程序,在回调中我需要获得当前主机名(应用程序在几个不同的主机名中工作)。我没有请求对象,只有一个大的env哈希值。我发现这个哈希包含一个条目,env["SERVER_NAME"],与主机名,但我不确定这是否是一个稳定的条目,或者它可能会根据web服务器或类似的东西而改变。
我还发现主机名隐藏在env["action_dispatch。@host.
有什么最好的或者规范的方法可以得到主机名吗?
该应用程序尚未投入生产,但到目前为止,使用env["SERVER_NAME"]
进行内测,效果非常好。
在rails控制器中,您可以简单地使用:
request.host
虽然我不确定这是否与你已经看到的来源有什么不同。在我正在开发的Rails 3.1应用程序中,