如何从rails控制台获取详细的错误消息?

fab*_*bbb 5 ruby ruby-on-rails

假设我希望使用存在的电子邮件从控制台创建用户.如果我做User.create(...)

因为模型验证(在这种情况下是唯一性的).create失败,rails控制台中的输出将显示:( rollback transaction用户未保存)

出于测试目的.他们是否可以获得触发回滚的显式错误?在这种情况下,它会说:"ROLLBACK:电子邮件不是唯一的".

Gja*_*don 8

您可以在Rails控制台中执行以下操作:

>> user = User.new(...)
>> user.save
>> user.errors.messages
Run Code Online (Sandbox Code Playgroud)

这样,您就知道save失败导致的错误.


sim*_*ley 7

你也可以这样做:

User.create!
Run Code Online (Sandbox Code Playgroud)

'bang'会强制它在没有额外步骤的情况下向您显示错误.