Permalink
Browse files

Fixed default routing NoMethodError downcase for nil when default con…

…troller provided (closes #5400) [kajism@yahoo.com]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4998 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent df70e28 commit 40762a48732185ce344cde351dfc6f4a67941f09 @dhh dhh committed Sep 4, 2006
Showing with 14 additions and 2 deletions.
  1. +5 −2 actionpack/lib/action_controller/routing.rb
  2. +9 −0 actionpack/test/controller/routing_test.rb
View
7 actionpack/lib/action_controller/routing.rb
@@ -556,8 +556,11 @@ def extract_value
end
def match_extraction(next_capture)
- hangon = (default ? "|| #{default.inspect}" : "if match[#{next_capture}]")
- "params[:#{key}] = match[#{next_capture}].downcase #{hangon}"
+ if default
+ "params[:#{key}] = match[#{next_capture}] ? match[#{next_capture}].downcase : '#{default}'"
+ else
+ "params[:#{key}] = match[#{next_capture}].downcase if match[#{next_capture}]"
+ end
end
end
View
9 actionpack/test/controller/routing_test.rb
@@ -1286,6 +1286,15 @@ def test_draw_default_route
end
end
+ def test_draw_default_route_with_default_controller
+ ActionController::Routing.with_controllers(['users']) do
+ set.draw do |map|
+ map.connect '/:controller/:action/:id', :controller => 'users'
+ end
+ assert_equal({:controller => 'users', :action => 'index'}, set.recognize_path('/'))
+ end
+ end
+
def test_route_with_parameter_shell
ActionController::Routing.with_controllers(['users', 'pages']) do
set.draw do |map|

0 comments on commit 40762a4

Please sign in to comment.