mirror of
https://github.com/github/rails.git
synced 2026-01-30 08:48:06 -05:00
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
This commit is contained in:
@@ -556,8 +556,11 @@ module ActionController
|
||||
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 @@ class RouteSetTest < Test::Unit::TestCase
|
||||
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|
|
||||
|
||||
Reference in New Issue
Block a user