Sinatra - 我如何获得服务器的域名

时间:2011-05-16 11:36:26

标签: ruby sinatra domain-name

我正在尝试在我的Sinatra应用程序中获取域名,但作为一个新手我真的很难弄清楚如何做到这一点,我知道它一定是可能的!

Rack::Request#host_with_port看起来很有希望,但我不知道如何从我的应用程序中获取这些内容 - 如何从我的Ruby代码中获取Rack中的内容?

或者还有另外一种方式 - 我想我每次发生请求时都不想这么做(虽然它不是太糟糕),但我认为如果我能做到这一点会更好当应用程序加载时。

任何提示?

2 个答案:

答案 0 :(得分:46)

只需在代码中使用request.host

get  "/" do
  puts request.host #=> localhost
end

答案 1 :(得分:9)

看看:

request.env.inspect

所以你可以看到所有的请求环境变量。

我认为你正在寻找

request.env["SERVER_NAME"]