From 779df30087a9372e4a40a75d416e95585ea47c54 Mon Sep 17 00:00:00 2001 From: Matt Jones Date: Fri, 14 Nov 2008 11:46:19 -0500 Subject: Update info on routing parameter defaults, better example for :requirements in map.resource. --- actionpack/lib/action_controller/resources.rb | 7 ++++++- actionpack/lib/action_controller/routing.rb | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_controller/resources.rb b/actionpack/lib/action_controller/resources.rb index 7700b9d4d0..3b97916682 100644 --- a/actionpack/lib/action_controller/resources.rb +++ b/actionpack/lib/action_controller/resources.rb @@ -283,7 +283,12 @@ module ActionController # * :new - Same as :collection, but for actions that operate on the new \resource action. # * :controller - Specify the controller name for the routes. # * :singular - Specify the singular name used in the member routes. - # * :requirements - Set custom routing parameter requirements. + # * :requirements - Set custom routing parameter requirements; this is a hash of either + # regular expressions (which must match for the route to match) or extra parameters. For example: + # + # map.resource :profile, :path_prefix => ':name', :requirements => { :name => /[a-zA-Z]+/, :extra => 'value' } + # + # will only match if the first part is alphabetic, and will pass the parameter :extra to the controller. # * :conditions - Specify custom routing recognition conditions. \Resources sets the :method value for the method-specific routes. # * :as - Specify a different \resource name to use in the URL path. For example: # # products_path == '/productos' diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb index 8d51e823a6..2dcdac150a 100644 --- a/actionpack/lib/action_controller/routing.rb +++ b/actionpack/lib/action_controller/routing.rb @@ -84,9 +84,11 @@ module ActionController # This sets up +blog+ as the default controller if no other is specified. # This means visiting '/' would invoke the blog controller. # - # More formally, you can define defaults in a route with the :defaults key. + # More formally, you can include arbitrary parameters in the route, thus: # - # map.connect ':controller/:action/:id', :action => 'show', :defaults => { :page => 'Dashboard' } + # map.connect ':controller/:action/:id', :action => 'show', :page => 'Dashboard' + # + # This will pass the :page parameter to all incoming requests that match this route. # # Note: The default routes, as provided by the Rails generator, make all actions in every # controller accessible via GET requests. You should consider removing them or commenting -- cgit v1.2.3