Ruby on Rails - Controller Methods


Advertisements


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.html.erb
      type.xml  { render :action => "index.rxml" }
      type.js   { render :action => "index.rjs" }
   end
   
end

rails-references-guide.htm