当前位置:  开发笔记 > 后端 > 正文

无需保存即可运行ActiveRecord验证

如何解决《无需保存即可运行ActiveRecord验证》经验,为你挑选了1个好方法。

我有一组ActiveRecord对象.我希望能够为每个对象运行所有验证,而不实际将它们保存到数据库中.我只是想知道他们是否有效我将它们保存到数据库中.换句话说,我基本上想要errors为每个对象填充数据结构.有没有办法做到这一点?或许我错过了关于该系列生命周期的一些东西errors



1> Mike Trpcic..:

您可以执行以下操作来检查模型是否有效:

@user = User.new
if @user.valid?
  #do things

如果要查看错误是什么,可以执行以下操作:

@user = User.new
unless @user.valid?
  @user.errors.each {|k, v| puts "#{k.capitalize}: #{v}"}

调用".valid?" 方法运行您的验证,将所有错误放入ActiveRecord :: Errors对象,可以像上面的示例中那样访问它.如果您愿意,可以在控制台中尝试使用这些示例来感受它.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有