Actualmente estoy empezando a aprender Ruby y el framework Ruby on Rails. He encontrado que en la tabla records
, no puedo encontrar un registro con un id de 5 y eliminarlo mediante el siguiente código:¿Por qué no puedo usar Record.all.destroy en Rails?
Record.find(5).destroy
Esto hace que los métodos de la cadena me sensoriales para encontrar el registro y destruyelo. Sin embargo, si quiero destruir todos los registros de la tabla, el comando lógico sería lo siguiente, según el selector all
selecciona todos los registros de la tabla:
Record.all.destroy
Y esto devuelve un NoMethodError! Soy consciente de que puedo usar Record.destroy_all
o Record.delete_all
para realizar esta tarea, sin embargo, me gustaría saber por qué no puedo usar la opción más lógica en lugar de tener que buscar cosas como delete_all
. Soy nuevo en este marco, por lo que es muy posible que me esté perdiendo algo fundamental aquí.
Gracias por cualquier respuesta con anticipación.
de hecho una buena pregunta, porque intenté lo mismo primero ... Podría usar 'Record.all.each {| r | r.destroy} 'por supuesto, pero eso no es tan lógico como el' Record.all.destroy' –