Merge pull request #34002 from gmcgibbon/fix_deeply_nested_scoped_root
Fix optionally scoped root route unscoped access
This commit is contained in:
commit
16e6d42b22
|
@ -402,7 +402,7 @@ module ActionDispatch
|
||||||
# for root cases, where the latter is the correct one.
|
# for root cases, where the latter is the correct one.
|
||||||
def self.normalize_path(path)
|
def self.normalize_path(path)
|
||||||
path = Journey::Router::Utils.normalize_path(path)
|
path = Journey::Router::Utils.normalize_path(path)
|
||||||
path.gsub!(%r{/(\(+)/?}, '\1/') unless path =~ %r{^/\(+[^)]+\)$}
|
path.gsub!(%r{/(\(+)/?}, '\1/') unless path =~ %r{^/(\(+[^)]+\)){1,}$}
|
||||||
path
|
path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1382,6 +1382,22 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
|
||||||
assert_equal "projects#index", @response.body
|
assert_equal "projects#index", @response.body
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_optionally_scoped_root_unscoped_access
|
||||||
|
draw do
|
||||||
|
scope "(:locale)" do
|
||||||
|
scope "(:platform)" do
|
||||||
|
scope "(:browser)" do
|
||||||
|
root to: "projects#index"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_equal "/", root_path
|
||||||
|
get "/"
|
||||||
|
assert_equal "projects#index", @response.body
|
||||||
|
end
|
||||||
|
|
||||||
def test_scope_with_format_option
|
def test_scope_with_format_option
|
||||||
draw do
|
draw do
|
||||||
get "direct/index", as: :no_format_direct, format: false
|
get "direct/index", as: :no_format_direct, format: false
|
||||||
|
|
Loading…
Reference in New Issue