4.7 - Eliminazione dei modelli
Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina
L’eliminazione di un modello è sempre l’operazione più rapida da eseguire anche se deve essere attentamente valutata in quanto un modello eliminato dal database non è più recuperabile in nessun modo.
ActiveRecord espone tre diversi metodi per l’eliminazione, di cui due di classe e uno di istanza. Partiamo da quest’ultimo.
Il metodo d’istanza per eliminare un modello è destroy (API) che elimina il record sul quale è stato invocato il metodo:
team = Team.find(1) team.destroy team = Team.find(1) #lancerà un'eccezione
I metodi di classe invece vengono utilizzati quando non è necessario instanziare l’oggetto prima di eliminarlo.
Il metodo delete (API) riceve un ingresso un id o un array di id e si incarica di eliminarli:
Team.destroy(1) #elimina record con id = 1 Team.destroy([1,2,3]) #elimina record con id = 1, id = 2 e id = 3
Il metodo destroy_all (API) permette invece di eliminare record che matchano una determinata condizione passata come parametro al metodo:
Team.destroy_all("balance < 100")