Hi, So i really, really want to do restful rails. I''ve got the Peepcode screencast, read the tutorials, etc. BUT - I still don''t get it. The problem is, tutorials only cover the basic stuff, and none of the application design elements. For example, I have a shop. The shop has products. The products can only be edited by an admin. So I scaffold products, and password protect the lot, that''s my admin area done. Now I create a shop and I want to ''view'' products. Oh wait, that''s in products already, and that''s not one of the ''restful 7''. I''m completely confused. What about resetting a password? Do I have to create a new reset_password resource? Any pointer would be much, much appreciated. Thank you! -- 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 -~----------~----~----~----~------~----~------~--~---
view one = show, view many = index, whether its the admin viewing products, or a user viewing products, there''s just one HTTP verb and url pattern in use... /products/ as a GET request. If it were /products/ as a POST request, it better be accompanied by sufficient parameters to define the new product resource, since that''s a RESTful create request pattern. The basis of REST is the four HTTP ''verbs'' GET, PUT, POST, DELETE. Rails scaffolding builds REST out with ''standard'' methods of: index, show, new, edit, create, update, destroy which pair a url pattern with one of the four HTTP request types index: /plural_resource_name/ + GET - return a collection of the desired resource create: /plural_resource_name/ + POST - create a new instance of the resource new: /plural_resource_name/new + GET - return a new instance of the resource show: /plural_resource_name/id + GET - return a single instance of the resource update: /plural_resource_name/id + PUT - update a single instance of the resource destroy: /plural_resource_name/id + DELETE - destroy a single instance of the resource -- 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 -~----------~----~----~----~------~----~------~--~---
I guess there isn''t much information on this, but you might want to look at well written source code for inspiration. From my experience (which isn''t much), your routing table should look something like: map.resources :shops, :has_many => [:products], :shallow => true map.resources :products, :controller => "manage_products" This means that you will have 3 controllers; one for shops and two for products. One product controller will be used for showing and will be accessed as a nested resource of shops. The other will act as a stand alone resource, but will be password protected. This may not be the best design for your needs, but I hope you can improve on it. On Apr 8, 8:23 pm, Ar Chron <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> view one = show, view many = index, whether its the admin viewing > products, or a user viewing products, there''s just one HTTP verb and url > pattern in use... > /products/ as a GET request. > > If it were /products/ as a POST request, it better be accompanied by > sufficient parameters to define the new product resource, since that''s a > RESTful create request pattern. > > The basis of REST is the four HTTP ''verbs'' GET, PUT, POST, DELETE. > > Rails scaffolding builds REST out with ''standard'' methods of: > > index, show, new, edit, create, update, destroy > > which pair a url pattern with one of the four HTTP request types > > index: > /plural_resource_name/ + GET - return a collection of the desired > resource > > create: > /plural_resource_name/ + POST - create a new instance of the resource > > new: > /plural_resource_name/new + GET - return a new instance of the resource > > show: > /plural_resource_name/id + GET - return a single instance of the > resource > > update: > /plural_resource_name/id + PUT - update a single instance of the > resource > > destroy: > /plural_resource_name/id + DELETE - destroy a single instance of the > resource > > -- > 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> BUT - I still don''t get it. The problem is, tutorials only cover the > basic stuff, and none of the application design elements.I think a lot of the confusion around REST is that it really is, in the practical context of building a rails app anyway, almost too simple. That simplicity forces us to rethink how we''ve solved problems in the past. And breaking those old thought patterns is what is hard. This presentation really helped me get my mind around it. I''m not sure if DHH actually mentions REST in this video but the concepts are there. http://www.scribemedia.org/2006/07/09/dhh/ good luck! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
I think the problem may actually be that he''s after application architecture tutorials in rails, and most rails tutes take it for granted you have somewhat of a grasp on big picture scenarios. Blog: http://random8.zenunit.com/ Learn rails: http://sensei.zenunit.com/ On 09/04/2009, at 5:07 AM, Tim <mcintyre.tim-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > >> BUT - I still don''t get it. The problem is, tutorials only cover the >> basic stuff, and none of the application design elements. > > I think a lot of the confusion around REST is that it really is, in > the practical context of building a rails app anyway, almost too > simple. That simplicity forces us to rethink how we''ve solved > problems in the past. And breaking those old thought patterns is what > is hard. > > This presentation really helped me get my mind around it. I''m not > sure if DHH actually mentions REST in this video but the concepts are > there. > > http://www.scribemedia.org/2006/07/09/dhh/ > > good luck! > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---