Novo erro no ActiveRecord ao ativar usuário do rails c

Você está falhando na validação aqui, é por isso.

Por exemplo, a senha é muito curta.

Você pode propagar a exceção fazendo isso:

u.save!

o que resulta, por exemplo:

ActiveRecord::RecordInvalid: Falha na validação: A senha é muito curta (o mínimo são 10 caracteres)
de /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'

Uma maneira mais rápida de chegar a isso teria sido adicionar um ponto de exclamação após o create:

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

Um ID não será atribuído até que você forneça ao objeto atributos totalmente válidos, seja na criação ou ao salvar após corrigi-los.

Somente quando você tiver um objeto instanciado poderá executar métodos nele.

4 curtidas