2009-08-24 40 views
3

如果我有以下验证:不包括在验证错误消息字段名

validates_inclusion_of :dob, :in => Date.new(1900)..Time.now.years_ago(18).to_date, :message => "You must be 18 or older to register" 

,显示了网站上的实际消息是:

“杜伯您必须年满18岁才能注册“

有什么办法不在邮件的开头添加列名?

谢谢

汤姆

回答

3

是。我使用custom-err-msg plugin。启动和运行起来非常简单,只需阅读README即可。

+0

no magic built in:dont_include_field_name flag or anything,呃? :)感谢您的插件建议 - 我会检查出来。 +1 – cakeforcerberus 2009-08-24 02:19:24

+0

非常容易设置和完美运作。再次感谢! – cakeforcerberus 2009-08-27 14:54:01

0

充分披露:我开发了宝石。

我觉得现有的解决方案是黑客,我开发这个宝石,以避免这种黑客攻击。

https://github.com/lulalala/adequate_errors

安装宝石后,设置像这样在您的语言环境YAML文件中的错误消息:

en: 
    activemodel 
    adequate_errors: 
     models: 
     user: 
      attributes: 
      dob: 
       inclusion: "You must be 18 or older to register" 

然后访问model.errors.adequate.messages将有没有属性前缀的消息。