Dans Rails, comment puis-je accéder aux Request.ServerVariables comme vous le faites en ASP?
-
21-08-2019 - |
Question
Je veux accéder à un Demandes ServerVariables donné, mais je ne peux pas sembler trouver quoi que ce soit sur Google sur la façon d'obtenir l'accès au serveur de Vars l'objet de la demande. Comment puis-je faire ceci ou suis-je condamné savoir tout simplement jamais?
Un exemple de la raison pour laquelle je veux faire (mais pas vraiment ce que je veux faire): L'utilisateur se connecte, et que vous souhaitez enregistrer l'adresse IP du lieu où ils se sont connectés, ou peut-être je veux enregistrer l'agent utilisateur ou referer à partir du navigateur qu'ils sont affichés sur le site.
La solution
Vous devriez regarder l'objet qui est disponible request
du contrôleur. Il y a un tas de méthodes comme
request.remote_ip
vous pouvez en savoir plus sur les objet Request sur le site de l'API Rails
Autres conseils
Le accesseur dans un request
contrôleur renvoie une ActionDispatch de l'objet de demande qui peut accéder à toutes les variables du serveur que vous attendez.
meilleure documentation que j'ai trouvé car il est ici: http://apidock.com /rails/v3.2.1/ActionDispatch/Request
Parfois, vous avez des méthodes telles que mentionnées dans request.remote_ip
l'autre réponse, d'autres fois, vous pouvez accéder à des choses via request.env
, par exemple, pour obtenir l'agent utilisateur, utilisez request.env["HTTP_USER_AGENT"]