From cf6734fdf9d72bfc7fe92e36bf603d67ad815e6b Mon Sep 17 00:00:00 2001 From: Rizwan Reza Date: Mon, 29 Mar 2010 05:45:32 +0430 Subject: Add more tests and docs to uncountable routes. [#3930 state:resolved] --- actionpack/lib/action_dispatch/routing/mapper.rb | 3 ++- actionpack/test/dispatch/routing_test.rb | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index fa64a2f1d0..8a84afd315 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -425,10 +425,11 @@ module ActionDispatch singular end + # Checks for uncountable plurals, and appends "_index" if they're. def collection_name uncountable? ? "#{plural}_index" : plural end - + def uncountable? singular == plural end diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb index 4821b5986c..10cc4dfb4f 100644 --- a/actionpack/test/dispatch/routing_test.rb +++ b/actionpack/test/dispatch/routing_test.rb @@ -113,7 +113,7 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest resources :posts, :only => [:index, :show] do resources :comments, :except => :destroy end - + resources :sheep match 'sprockets.js' => ::TestRoutingMapper::SprocketsApp @@ -532,11 +532,13 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest assert_raise(ActionController::RoutingError) { delete '/posts/1/comments' } end end - + def test_resources_for_uncountable_names with_test_routes do assert_equal '/sheep', sheep_index_path assert_equal '/sheep/1', sheep_path(1) + assert_equal '/sheep/new', new_sheep_path + assert_equal '/sheep/1/edit', edit_sheep_path(1) end end -- cgit v1.2.3