90 likes | 281 Views
RESTful Routing Basics. RoR Meetup, 1/18/2007 Andre Lewis. What You’ll Learn. Getting started with RESTful resources in Rails 1.2 Using scaffold_resource How to nest resources. Motivation. Why care about REST? What can REST do for you?. …. Fewer decisions to make
E N D
RESTful Routing Basics RoR Meetup, 1/18/2007 Andre Lewis
What You’ll Learn • Getting started with RESTful resources in Rails 1.2 • Using scaffold_resource • How to nest resources
Motivation • Why care about REST? • What can REST do for you?
… • Fewer decisions to make • More easily understand other’s work, or your own older work • Nice URLs • Convenient named routes • XML/JS/JSON responses, easier
The REST Mindset • Think in terms of: • Create GET /items/new • Retrieve GET /items/1 • Update PUT /items/1 • Delete PUT /items/1;delete • Let the constraints imposed by CRUD guide your controller design
Review: Nested Resources • Create the resource scaffolding and migrations • Set up relationships in models • Modify routes.rb • Modify the controller of the nested resource • add a before_filter • amend the *_url calls in create and update actions • scope your Comment (nested class) finders to the Post (nestee class) • Modify the views • Provide a link to the nested resource
REST: Learn More • My blog post at http://earthcode.com • DHH's REST keynote (get the slides too!) • http://www.loudthinking.com/lt-files/worldofresources.pdf • http://www.scribemedia.org/2006/07/09/dhh/ • The 2nd edition of Pragmatic's Agile Web Development • Peepcode screencast and cheatsheet Questions/Feedback? • what about *optionally* nested resources? • What about the new/edit request.get? pattern? • Is it “bad” to put additional methods on your RESTful controllers?