2009-05-12 1 views
2

Je souhaite accéder à une variable Requêtes ServerVariables, mais je n'arrive pas à trouver quoi que ce soit sur Google pour accéder au serveur Vars de l'objet de requête. Comment puis-je faire cela ou suis-je condamné à ne jamais savoir?Dans Rails, comment accéder aux Request.ServerVariables comme vous le faites dans ASP?

Un exemple de la raison pour laquelle je veux faire (mais pas vraiment ce que je veux faire):
journaux de l'utilisateur, et vous voulez stocker l'adresse IP du lieu où ils se sont connectés, ou peut-être que je veux enregistrer le user-agent ou le referer du navigateur qu'ils consultent le site.

Répondre

10

Vous devriez regarder l'objet request qui est disponible à partir du contrôleur. Il y a un tas de méthodes comme

request.remote_ip

vous pouvez en savoir plus sur le Request object sur le site de l'API Rails

+0

Merci pour la réponse, mais pourquoi j'appuie sur le lien, mais je ne trouve plus la documentation de l'objet de demande? – wizztjh

+1

On dirait que Rails 3.0 est maintenant la documentation actuelle (d'où le lien brisé) Voici l'équivalent mis à jour que j'ai pu trouver. http://api.rubyonrails.org/classes/ActionDispatch/Request.html – Scott

+0

Voici la documentation de la version 2.3.8: http://railsapi.com/doc/rails-v2.3.8/ – Scott

0

Le accesseur request dans un contrôleur retourne d'un ActionDispatch l'objet de demande qui peut accéder à tous les variables de 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 request.remote_ip comme mentionné dans 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"]

Questions connexes