From 943410197cca4235212ca0fc409820378a40890c Mon Sep 17 00:00:00 2001 From: Oscar Del Ben Date: Sat, 28 Apr 2012 11:44:50 +0200 Subject: Add REST section to getting started guide --- guides/source/getting_started.textile | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'guides/source') diff --git a/guides/source/getting_started.textile b/guides/source/getting_started.textile index 4c44b1ffec..6a761b6a46 100644 --- a/guides/source/getting_started.textile +++ b/guides/source/getting_started.textile @@ -1099,6 +1099,55 @@ posts. In the next section will see how Rails can aid us when creating REST applications, and how we can refactor our Blog app to take advantage of it. +h4. Going Deeper into REST + +We've now covered all the CRUD actions of a REST app. We did so by +declaring separate routes with the appropriate verbs into ++config/routes.rb+. Here's how that file looks so far: + + +get "posts" => "posts#index" +get "posts/new" +post "posts/create" +get "posts/:id" => "posts#show", :as => :post +get "posts/:id/edit" => "posts#edit" +put "posts/:id" => "posts#update" +delete "posts/:id" => "posts#destroy" + + +That's a lot to type for covering a single *resource*. Fortunately, +Rails provides a +resources+ method which can be used to declare a +standard REST resource. Here's how +config/routes/rb+ looks after the +cleanup: + + +Blog::Application.routes.draw do + + resources :posts + + root :to => "welcome#index" +end + + +If you run +rake routes+, you'll see that all the routes that we +declared before are still available, and the app still works as before. + + +# rake routes + posts GET /posts(.:format) posts#index + POST /posts(.:format) posts#create + new_post GET /posts/new(.:format) posts#new +edit_post GET /posts/:id/edit(.:format) posts#edit + post GET /posts/:id(.:format) posts#show + PUT /posts/:id(.:format) posts#update + DELETE /posts/:id(.:format) posts#destroy + root / welcome#index + + +TIP: In general, Rails encourages the use of resources objects in place +of declaring routes manually. For more information about routing, see +"Rails Routing from the Outside In":routing.html. + h4. Using the Console To see your validations in action, you can use the console. The console is a -- cgit v1.2.3