Permalink
Browse files

Worked around a Safari bug where it wouldn't pass headers through if …

…the response was zero length by having render :nothing return ' ' instead of ''

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1818 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 847f738 commit cb0f8fda9652c4d24d04693bdb82cecd3b067e5c @dhh dhh committed Jul 12, 2005
Showing with 3 additions and 2 deletions.
  1. +3 −2 actionpack/lib/action_controller/base.rb
@@ -559,7 +559,7 @@ def controller_name
# === Rendering nothing
#
# Rendering nothing is often convenient in combination with Ajax calls that perform their effect client-side or
- # when you just want to communicate a status code.
+ # when you just want to communicate a status code. Due to a bug in Safari, nothing actually means a single space.
#
# # Renders an empty response with status code 200
# render :nothing => true
@@ -621,7 +621,8 @@ def render(options = {}, deprecated_status = nil) #:doc:
) }))
elsif options[:nothing]
- render(options.merge({ :text => "" }))
+ # Safari doesn't pass the headers of the return if the response is zero length
+ render(options.merge({ :text => " " }))
else
render(options.merge({ :action => action_name }))

0 comments on commit cb0f8fd

Please sign in to comment.