2011-03-19 10 views
13

en Ruby on Rails, es que @variable.delete o @variable.destroyeliminación de un registro de base de datos

+0

Esto no es realmente una pregunta de Ruby, es una pregunta para cualquier ORM que esté utilizando, que, como está utilizando Rails, es probablemente ActiveRecord. ¿Qué tal reformular su pregunta y título para reflejar el ORM en lugar de Ruby? Como es, es una pregunta confusa. –

+0

sí, tienes razón, voy a cambiar eso –

Respuesta

32

@variable.destroy llamará a todas las devoluciones de llamada (before_destroy etc.) y garantizará que se respeten las asociaciones. @variable.delete solo llama a la consulta de base de datos sin procesar para eliminar el objeto. Por lo general, estás mucho más seguro usando destroy, incluso si es más caro.

2

Suponiendo que está usando ActiveRecord, y que @variable es una instancia de una subclase ActiveRecord::Base, se llama a @variable.destroy.

Cuestiones relacionadas