From 4df19b3f27c93e0a3091c176536fa119ea03ebb7 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Tue, 24 Aug 2010 12:43:43 -0300 Subject: Allow actions which start with A-Za-z_ only --- actionpack/lib/action_dispatch/routing/mapper.rb | 2 +- actionpack/test/dispatch/routing_test.rb | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 0c77183dc1..76c7ec35b9 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -726,7 +726,7 @@ module ActionDispatch path = options.delete(:path) action = args.first - if action && action.to_s =~ /^[\w_]+$/ + if action && action.to_s =~ /^[A-Za-z_]\w*$/ path = path_for_action(action, path) options[:action] ||= action options[:as] = name_for_action(action, options[:as]) diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb index a84c4d2d18..3f51798285 100644 --- a/actionpack/test/dispatch/routing_test.rb +++ b/actionpack/test/dispatch/routing_test.rb @@ -188,7 +188,9 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest end end - resources :sheep + resources :sheep do + get "_it", :on => :member + end resources :clients do namespace :google do @@ -996,6 +998,7 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest assert_equal '/sheep/1', sheep_path(1) assert_equal '/sheep/new', new_sheep_path assert_equal '/sheep/1/edit', edit_sheep_path(1) + assert_equal '/sheep/1/_it', _it_sheep_path(1) end end -- cgit v1.2.3