Fixed default routing NoMethodError downcase for nil when default controller...

Fixed default routing NoMethodError downcase for nil when default controller provided (closes #5400) [kajism@yahoo.com]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4998 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 df70e28e
......@@ -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
......
......@@ -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|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册