Я пытаюсь реализовать эту функцию с помощью Devise, но я не могу заставить ее делать что-либо, кроме перенаправления на главную страницу.Перенаправление на предыдущую страницу после входа в систему с помощью Devise
Мне нужно положить что-то в мой метод after_sign_in_path_for
.
Я пробовал:
def after_sign_in_path_for(resource)
request.env['omniauth.origin'] || stored_location_for(resource) || root_url
super
end
Я посмотрел на this question и почти каждый пост об этом на SO без удачи. Видимо Придумайте хранит предыдущие местоположения по умолчанию, но я пытался делать это сам:
after_filter :store_location
def store_location
# store last url as long as it isn't a /users path
session[:previous_url] = request.fullpath unless request.fullpath =~ /\/users/
end
def after_sign_in_path_for(resource)
session[:previous_url] || root_path
end
Я сделал десятки различных комбинаций выше и ответов на другие вопросы. Почему никто из них не работает? Я даже не получаю ошибок или чего-то еще, это в основном просто игнорирует мой код и перенаправляет на главную страницу независимо от того, что я делаю.
Вы проверили [Придумайте вики] (https://github.com/plataformatec/devise/wiki/How-To: -Redirect-встречно-текущей-страницы-после-входа в, -знак-аут, -знак вверх, -update)? –
@NicNilov Да, я пробовал практически любую часть кода. – 123