Skip to Content
Ruby on Rails® for Microsoft Developers
book

Ruby on Rails® for Microsoft Developers

by Antonio Cangiano
April 2009
Intermediate to advanced content levelIntermediate to advanced
479 pages
12h 55m
English
Wrox
Content preview from Ruby on Rails® for Microsoft Developers

5.5. Analyzing the Controller

Controllers are stored in app\controllers, so you can find your Articles controller in app\controllers\articles_controller.rb.

Note how the singular resource (that is, article) passed to the scaffold generator created a model that is singular and a controller that is plural. It is customary for RESTful controllers to be plural, because when you send a GET request for /articles or /articles.xml you are expecting to get a collection of items in return. Issuing a /article or /article.xml to obtain a series of articles doesn't seem as logical.

All of the code for your controller exists within the following class definition:

class ArticlesController < ApplicationController
  # ...
end

As you can see, the class ArticlesController inherits from ApplicationController. The Application controller is an application-wide controller, and all the controllers that you define inherit from it. You can find its definition in app\controllers\application.rb. ApplicationController in turn inherits from ActionController::Base.

Let's tackle each action within ArticlesController, one at a time.

5.5.1. index

The index action is there to list all the existing articles. This is how it is defined:

# GET /articles
# GET /articles.xml
def index
  @articles = Article.find(:all)

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @articles }
  end
end

The two comments are there to remind you that a GET /articles or GET /articles.xml request would lead to ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Ruby on Rails™ 3 Tutorial: Learn Rails™ by Example

Ruby on Rails™ 3 Tutorial: Learn Rails™ by Example

Michael Hartl

Publisher Resources

ISBN: 9780470374955Purchase book