aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Del Ben <info@oscardelben.com>2012-04-28 11:44:50 +0200
committerOscar Del Ben <info@oscardelben.com>2012-04-28 11:44:50 +0200
commit943410197cca4235212ca0fc409820378a40890c (patch)
tree696296607328deb79d235e1e3157e9436d6217db
parentfc3d15dcb0c4265d1aaeedfc51d8a8c8e382347a (diff)
downloadrails-943410197cca4235212ca0fc409820378a40890c.tar.gz
rails-943410197cca4235212ca0fc409820378a40890c.tar.bz2
rails-943410197cca4235212ca0fc409820378a40890c.zip
Add REST section to getting started guide
-rw-r--r--guides/code/getting_started/config/routes.rb11
-rw-r--r--guides/source/getting_started.textile49
2 files changed, 50 insertions, 10 deletions
diff --git a/guides/code/getting_started/config/routes.rb b/guides/code/getting_started/config/routes.rb
index 6095a05a58..5fb85de766 100644
--- a/guides/code/getting_started/config/routes.rb
+++ b/guides/code/getting_started/config/routes.rb
@@ -1,15 +1,6 @@
Blog::Application.routes.draw do
- # resources :posts do
- # resources :comments
- # end
- 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"
+ resources :posts
# The priority is based upon order of creation:
# first created -> highest priority.
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:
+
+<ruby>
+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"
+</ruby>
+
+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:
+
+<ruby>
+Blog::Application.routes.draw do
+
+ resources :posts
+
+ root :to => "welcome#index"
+end
+</ruby>
+
+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.
+
+<shell>
+# 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
+</shell>
+
+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