diff --git a/actionpack/lib/action_controller/code_generation.rb b/actionpack/lib/action_controller/code_generation.rb index 6519980198..d2d7deb212 100644 --- a/actionpack/lib/action_controller/code_generation.rb +++ b/actionpack/lib/action_controller/code_generation.rb @@ -115,7 +115,7 @@ module ActionController end code = "(#{code} || #{default.inspect})" if default - return code + return code.to_s end def segment_name() "segment#{depth}".to_sym end diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb index 2e35320322..0a9453e86a 100644 --- a/actionpack/test/controller/routing_test.rb +++ b/actionpack/test/controller/routing_test.rb @@ -622,6 +622,13 @@ class RouteSetTests < Test::Unit::TestCase end end + def test_route_with_colon_first + rs.draw do |map| + map.connect '/:controller/:action/:id', :action => 'index', :id => nil + map.connect ':url', :controller => 'tiny_url', :action => 'translate' + end + end + def test_basic_named_route rs.home '', :controller => 'content', :action => 'list' x = setup_for_named_route