aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorMarcel Molina <marcel@vernix.org>2007-11-06 18:54:33 +0000
committerMarcel Molina <marcel@vernix.org>2007-11-06 18:54:33 +0000
commitaf005df811dce7b602a07abeba40aff39799a9d0 (patch)
treee405b991898860910d535326f831a8294b1ff8d6 /actionpack
parent52682c50ff618b0f233538d6ffe9b7e96f29a7b3 (diff)
downloadrails-af005df811dce7b602a07abeba40aff39799a9d0.tar.gz
rails-af005df811dce7b602a07abeba40aff39799a9d0.tar.bz2
rails-af005df811dce7b602a07abeba40aff39799a9d0.zip
Add documentation for route conditions. Closes #9041 [innu, manfred]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8094 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/routing.rb18
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: