Redirect_to && referrer

Contrived example:

class WelcomeController < ApplicationController
  def first
    logger.debug "REFERRER: #{request.referrer}"
    logger.debug "REQUEST_URL: #{request.request_uri}"
    redirect_to :action => :second
  end

  def second
    logger.debug "REFERRER: #{request.referrer}"
    logger.debug "REQUEST_URL: #{request.request_uri}"
    redirect_to :action => :index
  end

  def index
  end
end

So, I open a new tab and go to localhost:4000/welcome/first – Here’s
the dev log output:

Processing WelcomeController#first (for 127.0.0.1 at 2010-08-23
15:52:03) [GET]
  Parameters: {"action"=>"first", "controller"=>"welcome"}
REFERRER: /
REQUEST_URL: /welcome/first
Redirected to http://localhost:4000/welcome/second
Completed in 2ms (DB: 0) | 302 Found [http://localhost/welcome/first]
  SQL (0.1ms)   SET SQL_AUTO_IS_NULL=0

Processing WelcomeController#second (for 127.0.0.1 at 2010-08-23
15:52:03) [GET]
  Parameters: {"action"=>"second", "controller"=>"welcome"}
REFERRER: /
REQUEST_URL: /welcome/second
Redirected to http://localhost:4000/
Completed in 2ms (DB: 0) | 302 Found [http://localhost/welcome/second]
  SQL (0.1ms)   SET SQL_AUTO_IS_NULL=0

Processing WelcomeController#index (for 127.0.0.1 at 2010-08-23
15:47:38) [GET]
  Parameters: {"action"=>"index", "controller"=>"welcome"}
Completed in 70ms (View: 53, DB: 5) | 200 OK [http://localhost/]
  SQL (0.1ms)   SET SQL_AUTO_IS_NULL=0

In the second processed request (WelcomeController#out) – why is the
referrer “/” and not “/welcome/first” ??

Ultimately I need to know inside of #second that I’m coming from
#first – given that it was redirected. Any suggestions?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs