ActiveRecord 在从 rails c 激活用户时出现新错误

您在这里验证失败,原因如下:

例如,密码太短。

您可以通过执行以下操作来冒泡异常:

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。

只有当您拥有一个实例化的对象时,才能在其上运行方法。

4 个赞