Мне нужно перенаправить моих пользователей на страницу, на которую они хотели пойти, а не на предыдущую, по причинам удобства использования.Rails devise: перенаправить пользователя после входа в URL-адрес, который он хотел отправить
прямо сейчас, если Im в странице B, а затем хочет перейти на страницу что журнал в необходимости затем пользователь вводит свои учетные данные и перенаправляется на страницу B вместо страницы .
Это стало очень серьезной проблемой юзабилити в моем приложении.
Представьте, что вы видите продукт, и вы нажимаете «Купить сейчас», тогда вам нужно ввести данные в журнал, прямо сейчас после входа в систему вы перенаправляетесь обратно на продукт вместо формы выписки.
Это как мой код выглядит следующим образом:
class ApplicationController < ActionController::Base
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
end
Так я должен заменить 'сессии [: previous_url] || root_pat' 'request.referer'? – SsouLlesS
yeap, это правильно. Затем он должен перенаправить пользователя в точку, из которой он был перенаправлен на страницу входа. –