在Rails中,如何像在ASP中一样访问Request.ServerVariables?

时间:2009-05-12 02:39:13

标签: ruby-on-rails ruby http-request

我想访问给定的Requests ServerVariables,但我似乎无法在Google上找到有关如何访问请求对象的服务器变量的任何内容。我该怎么做或者我注定永远不知道?

我想要这样做的一个例子(但实际上并不是我想要做的):
用户登录,并且您希望存储他们登录的位置的IP地址,或者我想从他们正在查看该站点的浏览器中记录用户代理或引用者。

2 个答案:

答案 0 :(得分:10)

您应该查看控制器提供的request对象。有许多方法,如

request.remote_ip

您可以在Rails API网站上阅读有关Request object的更多信息

答案 1 :(得分:0)

控制器中的request访问器返回一个ActionDispatch :: Request对象,该对象可以访问您期望的所有服务器变量。

我找到的最佳文档是:http://apidock.com/rails/v3.2.1/ActionDispatch/Request

有时您会在其他答案中提及request.remote_ip之类的方法,有时您可以通过request.env访问内容,例如,获取用户代理,请使用request.env["HTTP_USER_AGENT"]