Small fix in routing to allow dynamic routes (broken after [4242]) [Rick]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4319 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Rick Olson
2006-04-30 21:06:49 +00:00
parent 325cb1269c
commit 04ef7f4be6
3 changed files with 15 additions and 3 deletions

View File

@@ -1,5 +1,9 @@
*SVN*
* Small fix in routing to allow dynamic routes (broken after [4242]) [Rick]
map.connect '*path', :controller => 'files', :action => 'show'
* Replace alias method chaining with Module#alias_method_chain. [Marcel Molina Jr.]
* Replace Ruby's deprecated append_features in favor of included. [Marcel Molina Jr.]

View File

@@ -329,8 +329,8 @@ module ActionController
def write_recognition(g)
raise RoutingError, "Path components must occur last" unless g.after.empty?
start = g.index_name
start = "(#{start})" unless /^\w+$/ =~ start
start = g.index_name.to_s
start = "(#{start})" unless /^\w+$/ =~ start.to_s
value_expr = "#{g.path_name}[#{start}..-1] || []"
g.result key, "ActionController::Routing::PathComponent::Result.new_escaped(#{value_expr})"

View File

@@ -823,7 +823,15 @@ class RouteSetTests < Test::Unit::TestCase
rs.connect ':controller/:action/:id'
end
end
def test_dynamic_path_allowed
rs.draw do |map|
rs.connect '*path', :controller => 'content', :action => 'show_file'
end
assert_equal ['/pages/boo', []], rs.generate(:controller => 'content', :action => 'show_file', :path => %w(pages boo))
end
def test_backwards
rs.draw do |map|
rs.connect 'page/:id/:action', :controller => 'pages', :action => 'show'