Generating routes with optional format segment does not inherit params format [#2043 state:resolved]

This commit is contained in:
Joshua Peek
2009-03-04 14:37:59 -06:00
parent 6087fe8eed
commit 638b3b15a1
2 changed files with 21 additions and 1 deletions

View File

@@ -324,7 +324,11 @@ module ActionController
def to_s
'(.:format)?'
end
def extract_value
"#{local_name} = options[:#{key}] && options[:#{key}].to_s.downcase"
end
#the value should not include the period (.)
def match_extraction(next_capture)
%[

View File

@@ -2237,6 +2237,22 @@ class RouteSetTest < Test::Unit::TestCase
)
end
def test_format_is_not_inherit
set.draw do |map|
map.connect '/posts.:format', :controller => 'posts'
end
assert_equal '/posts', set.generate(
{:controller => 'posts'},
{:controller => 'posts', :action => 'index', :format => 'xml'}
)
assert_equal '/posts.xml', set.generate(
{:controller => 'posts', :format => 'xml'},
{:controller => 'posts', :action => 'index', :format => 'xml'}
)
end
def test_expiry_determination_should_consider_values_with_to_param
set.draw { |map| map.connect 'projects/:project_id/:controller/:action' }
assert_equal '/projects/1/post/show', set.generate(