【问题标题】:Customize the lock error message with a variable of devise config使用 devise config 变量自定义锁定错误消息
【发布时间】:2020-07-03 14:58:35
【问题描述】:

使用devise作为登录框架,我尝试在devise.en.yml文件的锁定错误信息中添加锁定时间,如下:

locked: "Your account is locked for %{config.unlock_in} minutes."

但消息不会改变,变量不会被它的值替换。

请问我该怎么做?

谢谢

【问题讨论】:

  • 初始化器中有 devise.rb 文件吗?
  • 是的,我有。并且这个变量将被赋值。 (锁定效果很好。只有我需要添加锁定错误消息,锁定用户多长时间。知道吗?
  • 是没有插入 config.unlock_in 还是根本没有使用您的自定义消息?
  • 我预计消息应该是“您的帐户已锁定 10 分钟。”但消息是“您的帐户已锁定 %{config.unlock_in} 分钟。” .

标签: ruby-on-rails devise


【解决方案1】:

我已经自定义了 Devise::FailureApp 类的 def i18n_message 方法,它对我有用。 我们的想法是在此方法中执行与变量 %{authentication_keys} 相同的方式。因此,添加变量 unlock_in 如下:

options[:unlock_in] = scope_class.unlock_in

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 2016-09-03
    • 1970-01-01
    • 2011-07-09
    • 2016-12-14
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多