4.4 - Salvataggio di un nuovo record

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


Una volta compreso il meccanismo di creazione e di mapping delle proprietà di un modello, il prossimo passo è quello di analizzare le varie funzioni che posso essere invocate su di essi. Queste funzioni vengono riassunte nell’acronimo CRUD che significa Create, Read, Update, Delete (ovvero crea, leggi, modifica, elimina). In questo capito analizzaremo gli strumenti messi a disposizione da ActiveRecord per salvare su database il nostro modello Team.

I metodi principali esposti dalle API sono due: save (API) e create(API): analizziamoli singolarmente.

Il metodo d’istanza save permette di salvare un oggetto creato precendentemente con il suo costruttore. Facciamo un esempio riferendoci all’esempio di prima:

t = Team.new
t.name = "Milan" 
t.balance = 99999
t.owner = "Silvio Berlusconi" 
t.save

Il metodo in questione ritorna un boolean che rappresenta l’esito del salvataggio per problemi legati alla validazione imposta nel modello (analizzata successivamente). Esiste una variazione del metodo che nel caso di salvataggio non riuscito, invece che ritornare false, lancia un eccezione: il metodo save! (API).

Il metodo create è invece un metodo di classe che permette si salvare su database un modello senza bisogno di istanziarlo ricevendo come parametro un hash. Guardiamo un esempio pratico che, per parcondicio, sarà:

Team.create(:name => "Inter", :balance => 99999, :owner => "Massimo Moratti")

Questo metodo, a differenza del precedente, torna sempre l’oggetto relativo senza segnalare la buona riuscita della query.

Guida RoR

4.3 – Active Record come ORM

4.5 – Otteniamo i record dal database

Updated on July 05, 2007 18:36 by Alberto Bottarini (79.1.138.115)