Ruby on Rails 2.1 - 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.rhtml
      type.xml  { render :action => "index.rxml" }
      type.js   { render :action => "index.rjs" }
   end
end

rails-quick-guide.htm

Advertisements