You have to specify different actions in your controller for get and post. Then in routes.rb you can declare the same url to get routed to either one of these actions depending on the http verb.
2009/6/4, deepak <[email protected]>: > > the 'pending action' shows a list of tickets, we apply some filters on > them like from and to date and other filters. > Then i have to process this ticket, wherein we contact an external > api, some db transactions and generate a csv report. > > i would like to POST to the same url to process the tickets as > selected on the GET. > The get request is Idempotent and can be done as many times as needed, > but the POST request is destructive. I am not very good at REST > principles but this is RESTful i believe. > > In the older rails scaffolding, if i remember correct, the new and > save action was the same but we GET or POSTed on that action. In > RESTful rails we have a new action with the GET http verb and a save > action with POST, is this more idiomatic rails to have one action with > either GET or POST but not both? Even if it is not the rails way, how > would i express it in rails routes DSL. > > Basically, it is a workflow with multiple steps. Tentatively what i > have thought about is that every step is an action. We GET the action > and POST to the same action after which we are redirected to another > action. A better solution or an example of a good piece of code would > be nice. > > Thanks > > > > On Jun 4, 8:29 pm, Robert Walker <[email protected]> > wrote: >> deepak wrote: >> > map.resources :tickets, >> > :path_prefix => '/workflows, >> > :collection => { :pending => [:get, :post], >> > :download => :get } >> >> I'm not sure what you "pending" action does, but you should keep this in >> mind: >> >> Excerpt from HTTP 1.1 specification: >> ------------------------------ >> 7.1. Safe and Idempotent Methods >> >> 7.1.1. Safe Methods >> >> Implementors should be aware that the software represents the user in >> their interactions over the Internet, and should be careful to allow >> the user to be aware of any actions they might take which may have an >> unexpected significance to themselves or others. >> >> In particular, the convention has been established that the GET and >> HEAD methods SHOULD NOT have the significance of taking an action >> other than retrieval. These methods ought to be considered "safe". >> This allows user agents to represent other methods, such as POST, PUT >> and DELETE, in a special way, so that the user is made aware of the >> fact that a possibly unsafe action is being requested. >> >> Naturally, it is not possible to ensure that the server does not >> generate side-effects as a result of performing a GET request; in >> fact, some dynamic resources consider that a feature. The important >> distinction here is that the user did not request the side-effects, >> so therefore cannot be held accountable for them. >> ------------------------------ >> -- >> Posted viahttp://www.ruby-forum.com/. > > > -- Von meinen Mobilgerät aus gesendet --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

