Is there a definitive guide on how to create a controller that understands and responds to GET/POST methods ? This does not necessarily mean I''m trying RESTful Web services. Google returned lot of material but most of them is pre-Rails 2.0 or not well explained. Did I miss any obvious document ? -Arun --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
def action if request.post? # Do post stuff elsif request.get? # Do get stuff end end This should be handled with Restful routes, but you said you didn''t want to do it that way. On Tue, Apr 22, 2008 at 2:55 PM, Arun <arun.gupta-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Is there a definitive guide on how to create a controller that > understands and responds to GET/POST methods ? This does not > necessarily mean I''m trying RESTful Web services. > > Google returned lot of material but most of them is pre-Rails 2.0 or > not well explained. Did I miss any obvious document ? > > -Arun > > >-- Ryan Bigg http://www.frozenplague.net Feel free to add me to MSN and/or GTalk as this email. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ok, that worked! If I want only GET and POST to be handled in a particular manner, how would RESful routes be configured ? Also, a newbie question ... how do I know where the list of variables like "request" accessible in my controller ? -Arun On Apr 21, 10:27 pm, "Ryan Bigg (Radar)" <radarliste...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> def action > if request.post? > # Do post stuff > elsif request.get? > # Do get stuff > end > end > > This should be handled with Restful routes, but you said you didn''t want to > do it that way. > > On Tue, Apr 22, 2008 at 2:55 PM, Arun <arun.gu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Is there a definitive guide on how to create a controller that > > understands and responds to GET/POST methods ? This does not > > necessarily mean I''m trying RESTful Web services. > > > Google returned lot of material but most of them is pre-Rails 2.0 or > > not well explained. Did I miss any obvious document ? > > > -Arun > > -- > Ryan Bigghttp://www.frozenplague.net > Feel free to add me to MSN and/or GTalk as this email.--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I don''t know if this is exactly what you are looking for but I highly reccomend reading through: http://caboo.se/doc/classes/ActionController/Base.html Basically covers the basics of what you can do in a controller. From the document: Requests are processed by the Action Controller framework by extracting the value of the "action" key in the request parameters. This value should hold the name of the action to be performed. Once the action has been identified, the remaining request parameters, the session (if one is available), and the full request with all the http headers are made available to the action through instance variables. Then the action is performed. The full request object is available with the request accessor and is primarily used to query for http headers. These queries are made by accessing the environment hash, like this: def server_ip location = request.env["SERVER_ADDR"] render :text => "This server hosted at #{location}" end -- Posted via http://www.ruby-forum.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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Arun wrote:> Is there a definitive guide on how to create a controller that > understands and responds to GET/POST methods ?Someone else here might understand your question better than me, but... ...that''s all controllers _ever_ do! They provide actions that respond to GET and POST HTTP events, routed in from a web server.> Google returned lot of material but most of them is pre-Rails 2.0 or > not well explained. Did I miss any obvious document ?I don''t think any of that will explain things in the terms you need! -- Phlip --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> I don''t know if this is exactly what you are looking for but I highly > reccomend reading through: > > http://caboo.se/doc/classes/ActionController/Base.htmlThis is indeed a good article, bookmarked!> The full request object is available with the request accessor and is > primarily used to query for http headers. These queries are made by > accessing the environment hash, like this: > > def server_ip > location = request.env["SERVER_ADDR"] > render :text => "This server hosted at #{location}" > endThis is printing a very long string ... GATEWAY_INTERFACECGI/1.1PATH_INFO/home/ indexQUERY_STRINGREMOTE_ADDR127.0.0.1REMOTE_HOST127.0.0.1REMOTE_USERREQUEST_METHODGET... How do I extract a particular value from this hash ? -Arun> -- > Posted viahttp://www.ruby-forum.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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> > Is there a definitive guide on how to create a controller that > > understands and responds to GET/POST methods ? > > Someone else here might understand your question better than me, but... > > ...that''s all controllers _ever_ do! They provide actions that respond to GET > and POST HTTP events, routed in from a web server.How do controllers figure out which actions are bound to GET and POST ? Is it explicitly configured in routes or a marker or something else ? -Arun> > > Google returned lot of material but most of them is pre-Rails 2.0 or > > not well explained. Did I miss any obvious document ? > > I don''t think any of that will explain things in the terms you need! > > -- > Phlip--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
You may want to look at this: http://api.rubyonrails.org/classes/ActionController/AbstractRequest.html (api for request object) -- Posted via http://www.ruby-forum.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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> How do controllers figure out which actions are bound to GET and > POST ?This is a portion of the routes defined in one of my applications: tickets GET /tickets {:action=>"index", :controller=>"tickets"} POST /tickets {:action=>"create", :controller=>"tickets"} new_ticket GET /tickets/new {:action=>"new", :controller=>"tickets"} edit_ticket GET /tickets/:id/edit {:action=>"edit", :controller=>"tickets"} ticket GET /tickets/:id {:action=>"show", :controller=>"tickets"} PUT /tickets/:id {:action=>"update", :controller=>"tickets"} DELETE /tickets/:id {:action=>"destroy", :controller=>"tickets"} Here is a sample link in a view: <%= link_to "Tickets", tickets_path %> The "tickets_path" helper method inside the link maps to this route: POST /tickets {:action=>"create", :controller=>"tickets"} Which of course then maps to the "create" action of the "tickets" controller. If you check the development log after clicking the link you would find this line: Parameters: {"action"=>"create", "controller"=>"tickets"} Note: There is probably some other values in the parms hash, but these two are used for selecting the controller and action. As far as the method used for the request (GET/POST/PUT/DELETE/HEAD) the request object knows that, which Rails has access to (and so do you). Hope this helps clear up some of the voodoo magic. On Apr 22, 2:09 pm, Arun <arun.gu...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > Is there a definitive guide on how to create a controller that > > > understands and responds to GET/POST methods ? > > > Someone else here might understand your question better than me, but... > > > ...that''s all controllers _ever_ do! They provide actions that respond to GET > > and POST HTTP events, routed in from a web server. > > How do controllers figure out which actions are bound to GET and > POST ? > > Is it explicitly configured in routes or a marker or something else ? > > -Arun > > > > > > Google returned lot of material but most of them is pre-Rails 2.0 or > > > not well explained. Did I miss any obvious document ? > > > I don''t think any of that will explain things in the terms you need! > > > -- > > Phlip--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---