不包括验证错误消息中的字段名称

时间:2009-08-24 01:52:33

标签: ruby-on-rails ruby validation

如果我有以下验证:

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

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

“Dob你必须年满18岁才能注册”

有没有办法不在邮件开头包含列名?

谢谢

汤姆

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

完全披露:我开发了宝石。

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

https://github.com/lulalala/adequate_errors

安装gem之后,在您的语言环境yaml文件中设置错误消息,如下所示:

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

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