Nuevo error en ActiveRecord al activar usuario desde rails c

Estás fallando la validación aquí, por eso.

por ejemplo, la contraseña es demasiado corta.

Puedes propagar la excepción haciendo esto:

u.save!

lo que da, por ejemplo:

ActiveRecord::RecordInvalid: Validation failed: Password is too short (minimum is 10 characters)
from /home/robert/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/activerecord-7.0.8.1/lib/active_record/validations.rb:80:in `raise_validation_error'

Una forma más rápida de llegar a eso habría sido añadir un signo de exclamación después del create:

 u = User.create!(username: "dunderhead", email: "dunderhead@live.com", password: "password")

No se asignará un ID hasta que proporciones al objeto atributos completamente válidos, ya sea en la creación o al guardar después de corregirlos.

Solo cuando tengas un objeto instanciado podrás ejecutar métodos sobre él.

4 Me gusta