В Rails, как мне получить доступ к запросу.Серверные переменные, как вы делаете в ASP?
-
21-08-2019 - |
Вопрос
Я хочу получить доступ к данным Requests ServerVariables, но, похоже, я ничего не могу найти в Google о том, как получить доступ к переменным сервера объекта request.Как мне это сделать, или я обречен просто никогда не узнать?
Пример того, почему я хотел бы это сделать (но на самом деле не то, что я хочу сделать):
Пользователь входит в систему, и вы хотите сохранить IP-адрес места, где он вошел в систему, или, возможно, я хочу записать агента пользователя или реферера из браузера, что они просматривают сайт.
Решение
Вам следует взглянуть на request
объект, доступный из контроллера.Существует множество методов, таких как
request.remote_ip
вы можете прочитать больше о Объект запроса на сайте Rails API
Другие советы
Тот Самый request
средство доступа в контроллере возвращает объект ActionDispatch::Request, который может получить доступ ко всем переменным сервера, которые вы ожидаете.
Лучшая документация, которую я нашел для этого, находится здесь: http://apidock.com/rails/v3.2.1/ActionDispatch/Request
Иногда у вас есть такие методы, как request.remote_ip
как упоминалось в другом ответе, в других случаях вы можете получить доступ к вещам через request.env
, например, чтобы получить пользовательский агент, используйте request.env["HTTP_USER_AGENT"]