我正在编写OmniAuth dynamic provider并且在回调中我需要获取当前主机名(该应用程序可以在多个不同的主机名中运行)。我没有请求对象,只是一个大的env哈希。我发现这个哈希包含一个带有主机名的条目env [“SERVER_NAME”],但我不确定这是否是一个稳定的条目,或者它可能会根据网络服务器或类似的东西而改变。
我还在成员变量@host中找到了埋在env [“action_dispatch.routes”]中的主机名。
任何想法在这一点上获取主机名的最佳或规范方法是什么?
答案 0 :(得分:3)
该应用尚未投入使用,但到目前为止,私有测试版使用env["SERVER_NAME"]
就像魅力一样。
答案 1 :(得分:1)
在rails控制器中,您只需使用:
request.host
虽然我不确定这些消息来源与您已经看过的内容有什么不同。在我正在使用的Rails 3.1应用程序中,这对我来说很好。