dat*_*ser 7 validation ruby-on-rails-3
我有以下代码:
validates :name, :presence => true
Run Code Online (Sandbox Code Playgroud)
产生的错误信息是"名称不能为空"而不是使用实际的属性名称(在本例中为"名称")我想将消息显示为"注册名称不能为空".如何覆盖验证上的默认消息?我尝试追加:消息,但它不起作用......
谢谢!
dat*_*ser 14
在en.yml文件中,将自定义键定义为:
activerecord:
attributes:
model_name:
attribute_name1: key1
attribute_name2: key2
......
Run Code Online (Sandbox Code Playgroud)
生成错误时将自动使用此密钥.
参考:http://edgeguides.rubyonrails.org/i18n.html#translations-for-active-record-models (5.1活动记录模型的翻译)
这样就可以了:
validates :name, presence: { message: "Registration name can't be blank" }
Run Code Online (Sandbox Code Playgroud)
或旧的哈希火箭语法版本:
validates :name, :presence => { :message => "Registration name can't be blank" }
Run Code Online (Sandbox Code Playgroud)
它现在有点晚了(大约35天后)回答这个问题.所以,对不起.但只是想分享我已经使用了一个宝石,超过几个月前,用于自定义错误消息.
此插件允许您省略特定邮件的属性名称.您所要做的就是以"^"字符开头.
我刚刚在https://github.com/nwise/custom_error_message上查看了它, 自3月以来它还没有更新.所以,我可能在合适的时间使用它.
ps:您在yml文件中定义自定义键的答案更合适.
| 归档时间: |
|
| 查看次数: |
8845 次 |
| 最近记录: |