提交 13e1d295 编写于 作者: J Jeremy Kemper

@response.redirect_url works with 201 Created responses: just return...

@response.redirect_url works with 201 Created responses: just return headers['Location'] rather than checking the response status.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5643 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 f6e85e4e
*SVN*
* @response.redirect_url works with 201 Created responses: just return headers['Location'] rather than checking the response status. [Jeremy Kemper]
* Added CSV to Mime::SET so that respond_to csv will work [Cody Fauser]
* Fixed that HEAD should return the proper Content-Length header (that is, actually use @body.size, not just 0) [DHH]
......
......@@ -179,7 +179,7 @@ def error?
# returns the redirection location or nil
def redirect_url
redirect? ? headers['Location'] : nil
headers['Location']
end
# does the redirect location match this regexp pattern?
......
......@@ -66,6 +66,11 @@ def redirect_to_different_controller
redirect_to :controller => 'fail', :id => 5
end
def create
headers['Location'] = 'created resource'
head :created
end
private
def rescue_action(e)
raise e
......@@ -463,6 +468,20 @@ def test_assert_follow_redirect_to_different_controller
end
end
def test_redirect_url_only_cares_about_location_header
get :create
assert_response :created
# Redirect url doesn't care that it wasn't a :redirect response.
assert_equal 'created resource', @response.redirect_url
assert_equal @response.redirect_url, redirect_to_url
# Must be a :redirect response.
assert_raise(Test::Unit::AssertionFailedError) do
assert_redirected_to 'created resource'
end
end
protected
def with_foo_routing
with_routing do |set|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册