Copyright © tutorialspoint.com

# Ruby on Rails 2.1 - Controller methods

Each public method in a controller is callable by the (standard) URL scheme /controller/action

    class WorldController < ApplicationController
    def hello
      render :text => 'Hello world'
    end

Parameters are stored in the params hash:

    /world/hello/1?foo=bar
    id = params[:id]     # 1
    foo = params[:foo]   # bar

Instance variables defined in the the controllers methods are available to the corresponding view templates:

    def show
      @person = Person.find( params[:id])
    end

Distinguish the type of response accepted:

    def index
      @posts = Post.find :all
      respond_to do |type|
        type.html # using defaults, which will render weblog/index.rhtml
        type.xml  { render :action => "index.rxml" }
        type.js   { render :action => "index.rjs" }
      end
    end

Copyright © tutorialspoint.com