Devise i przekierowywania

mam taki problem z przekierowywaniem po zalogowaniu klikam powiedzmy że klikam w link Moja konto które wymaga zalogowania loguje się i jest oki. Teraz robię log_out i jestem na stronie głównej, przechodzę na stronę np forum klikam zaloguj się i przekierowanie następuje na moje konto. Ja chce żeby przekierowywało na tą stronę na jakiej został kliknięty link zaloguj czyli w tym przypadku na na forum. Nigdzie nie mogę znaleźć jak uzyskać przekierowanie na poprzednią stronę w devise.

fajnie działa tylko jakiś pomysł jak dodać więcej ścieżek po za /users/ na stronie chodzą mi np ajax -y które się niestety łapią w request.fullpath

[code]def store_location

store last url as long as it isn’t a /users path

session[:previous_url] = request.fullpath unless request.fullpath =~ //users/ ??jak tutaj dopisać inne ścieżki ?
end[/code]

... =~ /\/users|\/pigs|\/chickens/

Oki prawie że działa tylko teraz jest tak jak jestem powiedzmy na stronie głównej klikam w link Moje konto (wymaga zalogowania) to po zalogowaniu jestem przekierowany na stronę główną a nie na moje konto czy da się wyłapać kiedy mam zastosować “zasadę” przekieruj na poprzednią stronę a kiedy przekieruj na np Moje konto(bo wymagało zalogowania)?

A jaki adres ma “Moje konto”. Genralnue wszystko da się wyłapać regexpem, ale może nie tędy droga. :slight_smile:

session[:previous_url] = request.fullpath unless request.xhr?

Może nie jasno opisałem zdarzenie jeszcze raz:
Jesteśmy na stronie głównej np: www.x.pl
Mamy link do mojego konta www.x.pl/moje_konto
Klikamy w niego (dostęp do konta jest po zalogowaniu), jesteśmy przekierowani na www.x.pl/user/sign_in logujemy się i przekierowywuje nas na www.x.pl zamiast na www.x.pl/moje_konto (logowanie zostało wymuszone przez before_filter :authenticate_user!)

Teraz jesteśmy na stronie www.x.pl/posts/5
klikamy w link zaloguj, jesteśmy przekierowani na www.x.pl/user/sign_in logujemy się i następuje przekierowanie na stronę www.x.pl/posts/5 co w tym przypadku jest prawidłowe.

@ deadman - problem z ajaxem został naprawiony przez dodanie ścieżek do

unless request.fullpath =~ /\/user/

Do session[:previous_url] musisz wpisać ścieżkę jeszcze przed wywołaniem authenticate_user!