Ruby on rails 如何在Rails';通过冻结的类字符串创建帮助程序

Ruby on rails 如何在Rails';通过冻结的类字符串创建帮助程序,ruby-on-rails,rails-i18n,ruby-on-rails-5.2,load-path,Ruby On Rails,Rails I18n,Ruby On Rails 5.2,Load Path,我的助手 module WatableHelper # binding.pry ANALYTICS_MEMBERS_FORMAT_COLS = { email: { index: 1, type: 'string', friendly: I18n.t('system_roles.email'), unique: true }, name: { index: 2,

我的助手

module WatableHelper

  # binding.pry

  ANALYTICS_MEMBERS_FORMAT_COLS = {
    email:  {
      index:    1,
      type:     'string',
      friendly: I18n.t('system_roles.email'),
      unique:   true
    },
    name:   {
      index:    2,
      type:     'string',
      friendly: I18n.t('admin_courses.th.name'),
      filter:   ''
    },
    status: {
      index:    3,
      type:     'string',
      friendly: I18n.t('admin_courses.th.status'),
      filter:   false
    }
  }.freeze
加载此类时,它将返回:

翻译缺失:en.system\u角色。电子邮件

原因是,如果我运行
I18n.load\u path
,我可以看到我的所有区域设置都尚未加载。我猜这是因为Rails将在区域设置之前引导Rails助手,在设置该字符串之后,它将被冻结为
翻译缺失

如果我运行
重新加载
在我的控制台中,该类将按预期加载,然后我的区域设置位于加载路径中

有人知道加载这些I18n翻译的正确方法吗


谢谢

也许您可以尝试要求您的区域设置,这样它将在以下情况之前加载:


require\u relative“您的路径/直到/您的语言环境”

绝对是一个诚实的回答。我想现在我将把它们作为私有方法而不是类常量烘焙。