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 ...
Get Ruby on Rails® for Microsoft Developers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.