您在这里验证失败,原因如下:
例如,密码太短。
您可以通过执行以下操作来冒泡异常:
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。
只有当您拥有一个实例化的对象时,才能在其上运行方法。