¿Qué hace esto en Rails?¡Qué crea! significa en los rieles?
create! do |user|
#initialise user
end
Me imaginé que crea un objeto de usuario y lo guarda en la base de datos. ¿Cómo es diferente de simplemente decir user.new(...)
y user.save()
?
He votado a favor porque esta es una buena respuesta. Sin embargo, 'create' no devuelve un booleano. Devuelve la instancia del objeto si pasó la validación o no. –
@AdityaSanghi - gracias por su respuesta. dices: "crear! guarda en la base de datos pero genera una excepción si hay errores en las validaciones del modelo (o cualquier otro error)". --------> ¿cómo puede guardar algo en la base de datos si las validaciones no se pasan? – BKSpurgeon
@ bkspurgeon no se guarda si las validaciones fallan. El método bang se comporta de manera diferente en caso de falla de la versión no bang. La versión de Bang genera una excepción y la versión que no es de tipo bang devuelve falso. –