Controller basics

Posted on

The naming convention of controllers in Rails favors pluralization of the last word in the controller’s name, although it is not strictly required (e.g. ApplicationController).

The controller naming convention differs from the naming convention of models, which expected to be named in singular form.


A method is created using the def statement. For example:

class ClientsController < ApplicationController
    def new

As an example, if a user goes to /clients/new in your application to add a new client, Rails will create an instance of ClientsController and run the new method.


You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after “?” in the URL. The second type of parameter is usually referred to as POST data.

Rails does ** not ** make any distinction between query string parameters and POST parameters, and both are available in the params hash in your controller:

def create
    @client =[:client])
        redirect_to @client
        # This line overrides the default rendering behavior, which
        # would have been to render the "create" view.
        render "new"

Leave a Reply

Your email address will not be published.