Ruby on rails RubyonRails中的错误消息是如何显示的?

Ruby on rails RubyonRails中的错误消息是如何显示的?,ruby-on-rails,Ruby On Rails,嗨,我想了解RubyonRails中的错误消息是如何显示的,更重要的是,错误消息在页面上的显示顺序是如何确定的 感谢您的时间。Active Record提供了许多预定义的验证帮助。每次验证失败时,都会向对象的错误集合添加一条错误消息,该消息与正在验证的字段相关联。有关验证的更多详细信息,请参阅 我认为,由于验证目标存储在散列中,因此它们的顺序是永远无法保证的。但是有许多现有的插件可以自定义和增强默认验证。一个快速的搜索结果和 您可能还对以下内容感兴趣,即如何自己自定义验证。显示错误的最常见方法是

嗨,我想了解RubyonRails中的错误消息是如何显示的,更重要的是,错误消息在页面上的显示顺序是如何确定的


感谢您的时间。

Active Record提供了许多预定义的验证帮助。每次验证失败时,都会向对象的错误集合添加一条错误消息,该消息与正在验证的字段相关联。有关验证的更多详细信息,请参阅

我认为,由于验证目标存储在散列中,因此它们的顺序是永远无法保证的。但是有许多现有的插件可以自定义和增强默认验证。一个快速的搜索结果和


您可能还对以下内容感兴趣,即如何自己自定义验证。

显示错误的最常见方法是使用帮助程序
错误消息

<%= f.error_messages %>

据我所知,它向存储在
@my_object.errors
散列中的错误消息添加了一些html标记。错误消息是按散列顺序排列的,它们是按照在模型中指定验证的顺序排列的(至少在我的应用程序中是这样工作的)。您可以阅读有关类错误的更多信息


由于
error\u messages
只是一个帮助程序,因此您可以编写自己的帮助程序来显示错误消息。

有趣的是,这样对我不起作用。与模型中的顺序相比,错误消息的顺序是随机的。可能与ruby版本有关。当然,OrderedHash在ruby 1.9中是可用的,但我正在使用1.8.7,在Rails中,它现在和现在都在使用。在控制台中尝试任何ActiveRecord对象
某些对象。错误
。在打印结束时,它是否会给您提供
@errors=#
?您使用的是什么版本的ruby和RoR?我使用的是ruby 1.8.7和rails 2.3.4。我刚刚升级到2.3.5,现在错误消息按照在模型中声明的顺序显示。呸。。。这个让我发疯。感谢您的帮助:-)有人可以编写一个优秀的插件,它将按顺序显示错误。我确实觉得奇怪,没有其他人有这个问题/副作用。这篇文章看起来很有帮助。谢谢