Nuovo errore in ActiveRecord quando si attiva un utente da rails c

Stai fallendo la validazione qui, ecco perché.

ad esempio la password è troppo corta.

Puoi far emergere l’eccezione facendo questo:

u.save!

che restituisce, ad esempio:

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'

Un modo più rapido per arrivarci sarebbe stato aggiungere un punto esclamativo dopo il create:

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

Non verrà assegnato un ID finché non avrai fornito all’oggetto attributi completamente validi, o al momento della creazione o al momento del salvataggio dopo averli corretti.

Solo quando hai un oggetto istanziato puoi procedere all’esecuzione di metodi su di esso.

4 Mi Piace