自定义设计密码错误消息

Customize Devise Passwords error message

我有一个实现设计的项目,但我无法覆盖密码控制器的消息。

当用户输入错误的电子邮件地址时,Devise 默认提供

Unable to find user with email {email}

我无法在 devise.en.yml 中找到覆盖此消息的密钥,并且在设计存储库中也找不到任何具有类似消息的内容。

除了覆盖控制器之外,我还有其他选择吗?感谢任何帮助。

谢谢

following link 中所述,您可以使用

生成设计控制器
rails generate devise:controllers user

然后您可以覆盖 createupdate 操作。如果在新动作中包含super,它将调用父控制器动作,然后执行代码。

您也可以将设计消息覆盖为 explained in this post,您只需要在设置中创建该语言环境

en:
  devise_token_auth:
    sessions:
      not_confirmed: "your message overwritten"

添加具有以下结构的新语言环境:

en:
  devise_token_auth:
    passwords:
      user_not_found: "Your custom message"

当在忘记密码表单中传递的电子邮件无效时,将显示此消息。

此消息最初来自 devise_token_auth gem。但是,如果您的语言环境文件中有相同的语言环境,它将覆盖 gem 的语言环境。

将此区域设置放入哪个 *.en.yml file 并不重要。它可以是 devise.en.yml,或者您可以添加一个名为 devise_token_auth.en.yml 的新文件。只有结构很重要。