У меня проблема с noob. Я хотел получить программу для перенаправления на последнюю страницу, которую посетил пользователь. Так что я сделал следующее ...Переадресация с помощью Devise after_sign_in_path_for
def after_sign_in_path_for(resource)
request.referer
end
Работает отлично ... кроме того, если пользователь на самом деле вход через исходную форму, которая вызывает цикл перенаправления.
Я попытался
def after_sign_in_path_for(resource)
if (request.referer == "https://stackoverflow.com/users/sign_in")
:pages_home
else
request.referer
end
end
Но это еще не работает, скорее всего, потому что я понятия не имею, что request.referer на самом деле возвращения, когда он встречает на страницу входа исходного пользователя (www.example.com/users/sign_in).
Любые идеи?
tldr; Используя завещать, я хочу, чтобы перенаправить на страницу вход с (т.е./блог/4), если страница не является/пользователей/sign_in
РЕШИТЬ:
Matchu был прав. Request.referer не возвращал домен, а также ...
http://example.com/users/sign_in
(примечание: нет WWW префикс)
Я все еще заинтересован в качестве альтернативы request.referer, если его небезопасным или неэффективным способом ,
реферер, вероятно, содержит имя домена:/ – Matchu 2010-12-02 00:35:17
Это работает очень хорошо для меня: http://stackoverflow.com/questions/5255283/how-do-i-make- devise-redirect-to-a-stored-location-after-sign-in-or-sign- – 2012-08-20 22:29:55