![](/img/trans.png)
[英]How to display custom error message for ActiveRecord::JDBCError in Ruby on Rails?
[英]Ruby on Rails: controlling the layout of an error message in ActiveRecord
我在Rails中的错误消息如下所示:
“电子邮件您的电子邮件无效。”
为什么字段的名称在字符串本身前面加上前缀? 它使错误消息看起来非常奇怪。
无论如何都要规避这种行为,以便我能看到“你的电子邮件无效”。
generate_full_message的文档可能有用:
任何区域设置的默认full_message格式为“ {{attribute}} {{message}}
”。 可以通过将其存储为密钥的转换来指定特定于语言环境的默认full_message格式:“ activerecord.errors.full_messages.format
”。
另外,可以通过存储以下内容的转换来指定验证特定的错误消息格式:“ activerecord.errors.full_messages.[message_key]
”。 例如,任何使用的验证的full_message格式:空白作为消息密钥(例如validates_presence_of)可以存储到:“ activerecord.errors.full_messages.blank
”。
由于验证使用的消息密钥可以在validates_ *类宏级别上覆盖,因此可以为任何特定验证自定义full_message格式:
# app/models/article.rb
class Article < ActiveRecord::Base
validates_presence_of :title, :message => :"title.blank"
end
# config/locales/en.yml
en:
activerecord:
errors:
full_messages:
title:
blank: This title is screwed!
在您的情况下,由于您使用的是默认的{{attribute}} {{message}}
格式,因此您将获得该属性的“电子邮件”和“您的电子邮件无效”作为邮件。 您可以将:message
参数更改为“不是有效格式”,您应该得到“电子邮件不是有效格式”。 这是快速修复。 如果要完全自定义它,可以使用上面的语言环境方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.