mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Remove hardcoded number_of_capturesin ControllerSegment to allow regexp requirements with capturing parentheses
Signed-off-by: Michael Koziarski <michael@koziarski.com> [#1887 state:committed]
This commit is contained in:
parent
fc09ebc669
commit
f7a0a394f4
2 changed files with 9 additions and 4 deletions
|
@ -244,10 +244,6 @@ module ActionController
|
|||
"(?i-:(#{(regexp || Regexp.union(*possible_names)).source}))"
|
||||
end
|
||||
|
||||
def number_of_captures
|
||||
1
|
||||
end
|
||||
|
||||
# Don't URI.escape the controller name since it may contain slashes.
|
||||
def interpolation_chunk(value_code = local_name)
|
||||
"\#{#{value_code}.to_s}"
|
||||
|
|
|
@ -852,6 +852,15 @@ class LegacyRouteSetTests < Test::Unit::TestCase
|
|||
assert_equal '/content/foo', rs.generate(:controller => "content", :action => "foo")
|
||||
end
|
||||
|
||||
def test_route_with_regexp_and_captures_for_controller
|
||||
rs.draw do |map|
|
||||
map.connect ':controller/:action/:id', :controller => /admin\/(accounts|users)/
|
||||
end
|
||||
assert_equal({:controller => "admin/accounts", :action => "index"}, rs.recognize_path("/admin/accounts"))
|
||||
assert_equal({:controller => "admin/users", :action => "index"}, rs.recognize_path("/admin/users"))
|
||||
assert_raises(ActionController::RoutingError) { rs.recognize_path("/admin/products") }
|
||||
end
|
||||
|
||||
def test_route_with_regexp_and_dot
|
||||
rs.draw do |map|
|
||||
map.connect ':controller/:action/:file',
|
||||
|
|
Loading…
Reference in a new issue