我正在使用Rails 3.1rc1,并认为SecurePassword对我有用。但是,我不喜欢默认的错误消息Password digest can't be blank
。如果我自己拨打validates_presence_of :password_digest
我可以通过:message => "Password can't be blank"
但是因为它在框架中我不知道如何覆盖消息删除“摘要”这个词只会迷惑乔用户。有谁知道怎么做?
修改
尝试添加'覆盖':validates_presence_of
,如此:
class User < ActiveRecord::Base
attr_accessible :email, :password
has_secure_password
validates_presence_of :password_digest, :message => "Password can't be blank"
end
但是当尝试提交一个空白密码时,你只会得到两倍的错误:
表单无效
答案 0 :(得分:19)
我相信您可以使用Rails Internationalization API来更改此内容。
在config / locales / en.yml文件中,添加以下内容:
en:
activerecord:
attributes:
user:
password_digest: "Password"
如果您的模型类不是“用户”,则需要适当更改该行。
无论如何,这对我有用。
答案 1 :(得分:0)
所有这一切都是添加行
validates_confirmation_of :password
validates_presence_of :password_diges
吨
如果添加行
validates_presence_of :password_digest, :message => "Password can't be blank"
这应该有用,因为这就是调用has_secure_password所做的事情。