No Rails, como posso acessar os Request.ServerVariables como você faz em ASP?
-
21-08-2019 - |
Pergunta
Eu quero acessar um determinado ServerVariables pedidos, mas eu não consigo encontrar nada no Google sobre como obter acesso ao Vars Servidor do objeto do pedido. Como posso fazer isso ou estou condenado a simplesmente nunca sabe?
Um exemplo de por que eu iria querer fazer isso (mas não realmente o que eu quero fazer):
usuário fizer login, e você deseja armazenar o endereço IP do lugar onde eles logado, ou talvez eu quero gravar o usuário-agente ou referer do navegador que está exibindo o site.
Solução
Você deve olhar para o objeto request
que está disponível a partir do controlador. Há um monte de métodos como
request.remote_ip
Você pode ler mais sobre a Request objeto no site da API do Rails
Outras dicas
O acessor request
em um controlador retorna um objeto ActionDispatch :: Request que pode acessar todas as variáveis ??de servidor que você esperaria.
Melhor documentação que eu encontrei para isso é aqui: http://apidock.com /rails/v3.2.1/ActionDispatch/Request
Às vezes você tem métodos como request.remote_ip
como mencionado em outra resposta, outras vezes você pode acessar coisas via request.env
, por exemplo, para obter o agente de usuário, uso request.env["HTTP_USER_AGENT"]