Fix relative URL root matching problems
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5272 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
2c3ca4c4e6
commit
02dc646d55
@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Fix relative URL root matching problems. [Mark Imbriaco]
|
||||
|
||||
* Fix filter skipping in controller subclasses. #5949, #6297, #6299 [Martin Emde]
|
||||
|
||||
* render_text may optionally append to the response body. render_javascript appends by default. This allows you to chain multiple render :update calls by setting @performed_render = false between them (awaiting a better public API). [Jeremy Kemper]
|
||||
|
@ -161,11 +161,10 @@ def path
|
||||
path = (uri = request_uri) ? uri.split('?').first : ''
|
||||
|
||||
# Cut off the path to the installation directory if given
|
||||
root = relative_url_root
|
||||
path[0, root.length] = '' if root
|
||||
path || ''
|
||||
path.sub!(%r/^#{relative_url_root}/, '')
|
||||
path || ''
|
||||
end
|
||||
|
||||
|
||||
# Returns the path minus the web server relative installation directory.
|
||||
# This can be set with the environment variable RAILS_RELATIVE_URL_ROOT.
|
||||
# It can be automatically extracted for Apache setups. If the server is not
|
||||
|
@ -207,6 +207,16 @@ def test_request_uri
|
||||
@request.env['SCRIPT_NAME'] = "/hieraki/dispatch.cgi"
|
||||
assert_equal "/hieraki/", @request.request_uri
|
||||
assert_equal "/", @request.path
|
||||
|
||||
@request.set_REQUEST_URI '/hieraki/dispatch.cgi'
|
||||
@request.relative_url_root = '/hieraki'
|
||||
assert_equal "/dispatch.cgi", @request.path
|
||||
@request.relative_url_root = nil
|
||||
|
||||
@request.set_REQUEST_URI '/hieraki/dispatch.cgi'
|
||||
@request.relative_url_root = '/foo'
|
||||
assert_equal "/hieraki/dispatch.cgi", @request.path
|
||||
@request.relative_url_root = nil
|
||||
|
||||
# This test ensures that Rails uses REQUEST_URI over PATH_INFO
|
||||
@request.relative_url_root = nil
|
||||
|
Loading…
Reference in New Issue
Block a user