diff options
Diffstat (limited to 'actionpack/lib')
-rwxr-xr-x | actionpack/lib/action_controller/base.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 7c2f7239fa..07b9b443d2 100755 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -727,11 +727,14 @@ module ActionController #:nodoc: # * <tt>Hash</tt>: The URL will be generated by calling url_for with the +options+. # * <tt>String starting with protocol:// (like http://)</tt>: Is passed straight through as the target for redirection. # * <tt>String not containing a protocol</tt>: The current current protocol and host is prepended to the string. + # * <tt>:back</tt>: Back to the page that issued the request. Useful for forms that are triggered from multiple places. + # Short-hand for redirect_to(request.env["HTTP_REFERER"]) # # Examples: # redirect_to :action => "show", :id => 5 # redirect_to "http://www.rubyonrails.org" # redirect_to "/images/screenshot.jpg" + # redirect_to :back # # The redirection happens as a "302 Moved" header. def redirect_to(options = {}, *parameters_for_method_reference) #:doc: @@ -745,6 +748,9 @@ module ActionController #:nodoc: when String redirect_to(request.protocol + request.host_with_port + options) + + when :back + redirect_to(request.env["HTTP_REFERER"]) else if parameters_for_method_reference.empty? |