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.
Read now
Unlock full access