13

我想获得我的域名:http://localhost:3000在开发中,或者mydomain.com在生产中。

我不想使用request.host,因为我的请求可能来自不同的网站。我该怎么做?

谢谢你。

4

2 回答 2

19

你会用request.domain. 查看ActionController 概述 - 请求和响应对象部分以获取更多信息。

为澄清起见,request.domain将返回用于请求的服务器的主机名,而不是访问者的主机名。除非您使用多个域托管您的应用程序,否则您应该得到您期望的值(例如mydomain.com

于 2013-03-18T19:45:31.557 回答
18

我知道这是一个老问题,但它在搜索中排名很高。如果有人偶然发现这个想要使用协议检索域,您可以使用:

request.base_url
#=> http://localhost:3000 # dev
#=> https://example.com # prod

希望这对某人有用。

于 2019-05-02T09:20:44.557 回答