在我的密码更改控制器中,我允许用户更改其密码,只要他们具有有效的密码请求令牌即可。
但是,一旦使用了它,它就会失效,因此,如果他们想再次使用它,则用户会在模型上看到错误:
Reset password token is invalid
这是来自Devise本身。如何将此消息修改为:
User reset password token already used
如果我无法通过某些配置更改消息,那么是否有一种方法可以让我检查令牌是否有效?
在这种情况下,我可以手动呈现此消息
答案 0 :(得分:2)
这不是设计,而是ActiveModel error message:
person.errors.full_message(:name, 'is invalid') # => "Name is invalid"
您可以在区域设置文件中覆盖它。
en:
activerecord:
attributes:
user:
reset_password_token: User reset password token
errors:
models:
user:
attributes:
reset_password_token:
invalid: already used
答案 1 :(得分:0)
您可以通过设置语言环境文件(如文档here中所述)在Devise中自定义错误消息
您可以在此处找到有关语言环境文件使用的更多信息:https://github.com/plataformatec/devise/wiki/I18n
答案 2 :(得分:0)
如果您要更改/自定义设计错误/闪存消息...只需更改下面显示的devise.en.yml
文件在config/locals/devise.en.yml
的位置
######example
en:
devise:
confirmations:
##OLD => confirmed: "Your email address has been successfully confirmed."
confirmed: "Your are not a confirmed user.Kindly Confirm your Email Id"
希望这会有所帮助;)