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“您的路径/直到/您的语言环境”
绝对是一个诚实的回答。我想现在我将把它们作为私有方法而不是类常量烘焙。