覆盖SecurePassword的validation错误消息

可能重复:
使用Rails完全自定义validation错误消息

我正在玩Rails 3.1rc1并认为SecurePassword对我有用。 但是,我不喜欢默认的错误信息, Password digest can't be blank 。 如果我自己调用validates_presence_of :password_digest我可以传递:message => "Password can't be blank"但因为它在框架中我不知道如何覆盖消息以删除“digest”这个只会混淆joe用户。 有人知道怎么做吗?

编辑:

尝试添加’覆盖’: validates_presence_of如下:

 class User  "Password can't be blank" end 

但是当尝试提交一个空白密码时,你只会得到两倍的错误:

表格无效

  • 密码摘要不能为空
  • 密码摘要密码不能为空

我相信你可以使用Rails Internationalization API来改变它。

在config / locales / en.yml文件中,添加以下内容:

 en: activerecord: attributes: user: password_digest: "Password" 

如果您的模型类不是“用户”,则需要适当地更改该行。

无论如何,这对我有用。

所有这一切都是添加线条

 validates_confirmation_of :password validates_presence_of :password_diges 

Ť

如果添加该行

 validates_presence_of :password_digest, :message => "Password can't be blank" 

这应该有效,因为这就是调用has_secure_password所做的事情。