Sinatra – 如何获取服务器的域名

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

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

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

任何提示?

只需在代码中使用request.host即可。

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

看一眼:

 request.env.inspect 

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

我认为你在寻找

 request.env["SERVER_NAME"]