rails c からユーザーをアクティブ化する際の ActiveRecord の新しいエラー

ここで検証に失敗しているためです。

例:パスワードが短すぎます。

次のように例外を伝播させることができます。

u.save!

これにより、たとえば次のようになります。

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'

より迅速にこれを行うには、create の後に感嘆符を追加します。

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

ID は、create 時または修正後に save するまで割り当てられません。

インスタンス化されたオブジェクトがあって初めて、その上でメソッドを実行できます。

「いいね!」 4