5.2 - Creiamo il nostro primo controller

Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina


Possiamo ora creare il nostro primo controller che si occuperà di elencare le squadre e di aggiungerne di nuove: usiamo come per i modelli il generator:

script/generate controller Team

Solitamente i controller strettamente associati ad un modello hanno il suo stesso nome.

Lo script genera i seguenti file: e la cartella

L’unico file che al momento ci interessa è app/controllers/team_controller.rb che è il controller vero e proprio.

Il generatore ha già aggiunto l’intestazione al file:

class TeamController < ApplicationController
end

A noi non resta che definire dei nuovi metodi ognuno per ogni azione che il controller dovrà compiere. Partiamo con l’elenco delle squadre:

def list
  @teams = Team.find(:all, :order => "name")
end

Abbiamo semplicemente invocato il metodo di classe find (visto nel capitolo relativo ad ActiveRecord) e abbiamo associato il risultato ad una variabile d’istanza. Non abbiamo usato una variabile normale perchè in questo caso vogliamo condividere la variabile con la vista (se avessimo infatti scritto teams = Team.find(:all, :order => "name") la variabile non sarebbe stata visibile al di fuori del metodo).

Guida RoR

5.1 – Capire il routing

5.3 – Oggetti impliciti nei controller

Updated on July 17, 2007 21:39 by Alberto Bottarini (79.1.138.115)