On Sep 9, 2009, at 7:06 PM, MaggotChild wrote:

>
> Can't find the answer to this. My old message received no responses
> (subject was messed up).
>
> Is it possible to create routes that have the same URL yet map to a
> different action based on the HTTP method (or pseudo method) like a
> Rails' resource?
>
> For example:
>
> map.resources :foo, :collection => { :purge  => :get, :purge_them
> => :post }
>
> I'd like to use /foo/purge for both actions, and have the appropriate
> controller method called based on the HTTP request's method -like /foo
> does for the create and index methods, amongst others.

  map.connect('/foo/purge', :controller => 'foo', :action =>  
'purge'     , :conditions => { :method => :get })
  map.connect('/foo/purge', :controller => 'foo', :action =>  
'purge_them', :conditions => { :method => :post})
  map.resources :foo

I put parentheses in so the wrapping doesn't kill the syntax.

Since there is an implied precedence based on appearance, if the  
map.resources(:foo) comes first, GET /foo/purge, looks like you want  
to show the Foo with id='purge'. (I'm not sure, but a POST /foo/purge  
might do the FooController#purge_them in either case).

I hope that helps.

-Rob

Rob Biedenharn          http://agileconsultingllc.com
r...@agileconsultingllc.com



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to