Help redirecting to the same page

Hi John,

I have a login controller and a link so I can login my app. I would like to have something to come back to the page where I clicked that link. So, when I click the link I go to the login page and after I would like to return to the page where I clicked the link. I have uses request_uri in other apps, but I need something different now and be able to use it all around the web.

Depending on the complexity of your authentication processing, you may be able to do something as simple as:

redirect_to :back

I'm not sure what you mean by 'need something different now' wrt request_uri. An alternative to the above would be to capture the source of the request in your login controller method and store it in the session for future use.

There are other alternatives, of course. Maybe if you say more about what you mean by 'be able to use it all around the web' you'll get some more helpful responses.

Best regards, Bill

Note that if you do use :back, you need to rescue RedirectBackError in case there is no HTTP_REFERER to go back to. It might be simpler to look at what redirect_to does with :back and do that yourself (exercise for the reader :wink:

begin    redirect_to :back rescue RedirectBackError    redirect_to home_url # or something appropriate for your app. end

-Rob

Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com

Thanks, but I can not do redirect_to :back, because it redirects to the login page. I'll need something different. One possibility is to use a session variables for my controller and method, but the problem is that sometimes I need also and id, like 'posts/11'. I would like something more general. I would like to be able to save all the url in a session variable and then be able to redirect back to it. Is it possible?

You'll probably want to adopt an approach similar to restful- authetication's method:

def store_location   session[:return_to] = request.request_uri end

(call this from your action that shows users the login page - see http://github.com/technoweenie/restful-authentication/blob/5799593a28bb88e98b8cfe32d2f207c753a2bd9b/generators/authenticated/templates/authenticated_system.rb for details)

--Matt Jones