Sorry if this is a really basic question but I can’t seem to add my own
action that works through a post method. I’ve tried :new, :create,
:collection, :member, etc without any success it seems to automatically
take you to create or show as soon as it senses a post (get mappings
work just fine!)
TIA
Taken from…
http://api.rubyonrails.org/classes/ActionController/Routing.html >>
Route
conditions
With conditions you can define restrictions on routes. Currently the
only
valid condition is :method.
- :method - Allows you to specify which method can access the route.
Possible values are :post, :get, :put, :delete and :any. The default
value is :any, :any 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 /posts/:id, it will route to the create_comment
action.
A GET on the same URL will route to the show action.
or if you are using a resource… from
http://api.rubyonrails.org/classes/ActionController/Resources.html
map.resources :messages, :collection => { :rss => :get }
→ GET /messages/rss (maps to the #rss action)
also adds a named route called “rss_messages”
map.resources :messages, :member => { :mark => :post }
→ POST /messages/1/mark (maps to the #mark action)
also adds a named route called “mark_message”
On Sun, Mar 2, 2008 at 1:46 AM, Grayson P. <
[email protected]> wrote:
–
-Robert Ferney ( Kolbe 4357 Demonstrator / Myer Brigs INTJ )