Добавление кода состояния к перенаправлению: root в Rails 3 вызывает раздражающую страницу «Вы перенаправлены» - PullRequest
2 голосов
/ 07 февраля 2011

Этот код выполняется на rescue_from.

Это работает:

redirect_to :root, :notice => 'Mice'

Это заставляет Rails 3 генерировать страницу «Вы перенаправлены»:

redirect_to :root, :status => 403, :notice => 'Mice'

Были похожие вопросы, но я не видел ничего недавнего или вполне соответствующего этому сценарию.Я что-то не так делаю?

1 Ответ

8 голосов
/ 08 февраля 2011

Вы видите эту страницу из-за поведения браузера.403 сообщает браузеру, что запрос завершен со статусом «Запрещено».Вам необходимо отправить код состояния серии 3xx, чтобы выполнить перенаправление.Использование redirect_to без явного кода отправляет 302.

Обратите внимание, что если вы используете curl для проверки второго примера, вы увидите страницу «Вы перенаправлены» для кода состояния 302 и 403.,redirect_to отправляет это обратно в ответе независимо, но браузер определяет, как обработать запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...