在演示者文件中为i18n使用相对根

时间:2019-04-05 19:15:39

标签: ruby-on-rails rails-i18n

使用app/presenters/foo.rb之类的文件,我希望能够拥有一个i18n密钥foo.whatever并以类似foo.rb的方式在I18n.t('.whatever')中引用它。用视图来做。

有可能吗?我在Rails上浏览了i18n指南,并在互联网上进行了彻底搜索(“将相对根添加到i18n”),但是没有结果。

1 个答案:

答案 0 :(得分:1)

foo是类还是模块?您可以使所有演示者使用以下内容扩展基本模块:

def t(key)
  scope = "presenters.#{self.class.to_s.underscore.gsub('/', '.')}"
  I18n.t(key, scope: scope, default: I18n.t(key))
end

编辑:更改为正确的Rails语法并可以使用模块名称空间