diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_controller/routing.rb | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 46986d07e9..acba014554 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Add documentation for route conditions. Closes #9041 [innu, manfred] + * Fix typo left over from previous typo fix in url helper. Closes #9414 [Henrik N] * Fixed that ActionController::CgiRequest#host_with_port() should handle standard port #10082 [moro] diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb index a182fb3dd5..bebad04eab 100644 --- a/actionpack/lib/action_controller/routing.rb +++ b/actionpack/lib/action_controller/routing.rb @@ -204,6 +204,24 @@ module ActionController # must appear at the end of the path. The globbed values are in <tt>params[:path]</tt> in # this case. # + # == Route conditions + # + # With conditions you can define restrictions on routes. Currently the only valid condition is <tt>:method</tt>. + # + # * <tt>:method</tt> - Allows you to specify which method can access the route. Possible values are <tt>:post</tt>, + # <tt>:get</tt>, <tt>:put</tt>, <tt>:delete</tt> and <tt>:any</tt>. The default value is <tt>:any</tt>, + # <tt>:any</tt> means that any method can access the route. + # + # Example: + # + # map.connect 'post/:id', :controller => 'posts', :action => 'show', + # :conditions => { :method => :get } + # map.connect 'post/:id', :controller => 'posts', :action => 'create_comment', + # :conditions => { :method => :post } + # + # Now, if you POST to <tt>/posts/:id</tt>, it will route to the <tt>create_comment</tt> action. A GET on the same + # URL will route to the <tt>show</tt> action. + # # == Reloading routes # # You can reload routes if you feel you must: |