kmo*_*511 11 ruby activerecord
我有一组ActiveRecord对象.我希望能够为每个对象运行所有验证,而不实际将它们保存到数据库中.我只是想知道他们是否有效我将它们保存到数据库中.换句话说,我基本上想要errors为每个对象填充数据结构.有没有办法做到这一点?或许我错过了关于该系列生命周期的一些东西errors?
Mik*_*cic 26
您可以执行以下操作来检查模型是否有效:
@user = User.new
if @user.valid?
#do things
Run Code Online (Sandbox Code Playgroud)
如果要查看错误是什么,可以执行以下操作:
@user = User.new
unless @user.valid?
@user.errors.each {|k, v| puts "#{k.capitalize}: #{v}"}
Run Code Online (Sandbox Code Playgroud)
调用".valid?" 方法运行您的验证,将所有错误放入ActiveRecord :: Errors对象,可以像上面的示例中那样访问它.如果您愿意,可以在控制台中尝试使用这些示例来感受它.