has_secure_password自定义错误消息

时间:2013-03-07 21:19:14

标签: ruby-on-rails ruby-on-rails-3

我是红宝石和铁轨的新手。
我尝试使用has_secure_password创建身份验证。
一切都很好,直到我试图覆盖password_digest字段的错误消息。
我已经搜索过了,但所有的问题都是关于“如何将'密码摘要无法通过空白'更改为'密码无法通过空白'” 我知道这可以在config / locales / en.yml中进行更改,但如果我想更改整个消息该怎么办。
假设我需要一条消息,例如“密码摘要不能填空,请填写”或用其他语言留言 这可能吗?

2 个答案:

答案 0 :(得分:1)

我意识到这篇文章已有数年历史了,但是对于这个问题,它仍然是最先出现的。就是说,如链接here所示,如果您为has_secure_password提供options参数,并在对象内部放入validations: false,则可以制作自己的验证消息。请注意,这将取消所有验证方法,因此您必须在长度和确认方面进行选择。

例如,

has_secure_password(options={validations:false}

validates :password, presence: {message: "Password was not entered"}

验证失败后,现在将显示“未输入密码”。

答案 1 :(得分:0)

这是解决方案的一个很好的例子:

Fully custom validation error message with Rails