    # File lib/action_controller/base.rb, line 1039
          def redirect_to(options = {}, response_status = {}) #:doc:
            raise ActionControllerError.new("Cannot redirect to nil!") if options.nil?

            if options.is_a?(Hash) && options[:status]
              status = options.delete(:status)
            elsif response_status[:status]
              status = response_status[:status]
            else
              status = 302
            end

            case options
              when %r{^\w+://.*}
                raise DoubleRenderError if performed?
                logger.info("Redirected to #{options}") if logger && logger.info?
                response.redirect(options, interpret_status(status))
                response.redirected_to = options
                @performed_redirect = true

              when String
                redirect_to(request.protocol + request.host_with_port + options, :status=>status)

              when :back
                request.env["HTTP_REFERER"] ? redirect_to(request.env["HTTP_REFERER"], :status=>status) : raise(RedirectBackError)

              when Hash
                redirect_to(url_for(options), :status=>status)
                response.redirected_to = options

              else
                redirect_to(url_for(options), :status=>status)
            end
          end