Подтвердить что ты не робот

Какая разница между request.env ['REQUEST_URI'] и request.env ['REQUEST_PATH']?

В чем разница между request.env ['REQUEST_URI'] и request.env ['REQUEST_PATH'] в Rails? Кажется, что они всегда содержат одинаковое значение.

4b9b3361

Ответ 1

Я считаю, что delroth правильно относится к различию, однако почти во всех случаях лучше использовать методы в Request вместо прямого доступа к переменным среды.

request.request_uri возвращает запрошенный url, включая строку запроса и без домена.

request.path возвращает путь запроса без строки запроса, домена и любого относительного корня (если ваше приложение работает из каталога, отличного от root).

Обратитесь к API Rails для ActionDispatch:: Request, чтобы увидеть другие полезные методы.

Ответ 2

Я полагаю, что REQUEST_URI также содержит аргументы запроса GET, тогда как REQUEST_PATH нет. Но я не совсем уверен в этом.

Например:

  • REQUEST_URI = /foo/bar/?x=1&y=2
  • REQUEST_PATH = /foo/bar/