Permalink
Browse files

Fixed that named routes living under resources shouldn't have double …

…slashes (closes #10198) [isaacfeliu]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8206 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent f4b5ca1 commit 9e76b59c85d94148e20999a2943777cb1fe0bee9 @dhh dhh committed Nov 25, 2007
View
@@ -1,5 +1,7 @@
*SVN*
+* Fixed that named routes living under resources shouldn't have double slashes #10198 [isaacfeliu]
+
* Make sure that cookie sessions use a secret that is at least 30 chars in length. [Koz]
* Fixed that partial rendering should look at the type of the first render to determine its own type if no other clues are available (like when using text.plain.erb as the extension in AM) #10130 [java]
@@ -1012,7 +1012,7 @@ def build(path, options)
path = "/#{path}" unless path[0] == ?/
path = "#{path}/" unless path[-1] == ?/
- path = "/#{options[:path_prefix]}#{path}" if options[:path_prefix]
+ path = "/#{options[:path_prefix].gsub(/^\//,'')}#{path}" if options[:path_prefix]
segments = segments_for_route_path(path)
defaults, requirements, conditions = divide_route_options(segments, options)
@@ -1980,6 +1980,20 @@ def test_generate_all
assert_equal '/post/show/10', all.last
end
+ def test_named_route_in_nested_resource
+ set.draw do |map|
+ map.resources :projects do |project|
+ project.comments 'comments', :controller => 'comments', :action => 'index'
+ end
+ end
+
+ request.path = "/projects/1/comments"
+ request.method = :get
+ assert_nothing_raised { set.recognize(request) }
+ assert_equal("comments", request.path_parameters[:controller])
+ assert_equal("index", request.path_parameters[:action])
+ end
+
end
class RoutingTest < Test::Unit::TestCase

0 comments on commit 9e76b59

Please sign in to comment.