使用app/presenters/foo.rb
之类的文件,我希望能够拥有一个i18n密钥foo.whatever
并以类似foo.rb
的方式在I18n.t('.whatever')
中引用它。用视图来做。
有可能吗?我在Rails上浏览了i18n指南,并在互联网上进行了彻底搜索(“将相对根添加到i18n”),但是没有结果。
答案 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语法并可以使用模块名称空间