将ruby变量返回到Rails.root.join

时间:2017-04-18 00:09:56

标签: ruby-on-rails ruby localization

所以我现在正在本地化一个rails应用程序,我目前只在一个函数中加载一个语言环境文件,不过我想知道如何将当前活动的语言环境存储在变量中并添加而不是基本'en.yml'。这是我目前的代码:

yml ||= YAML.load_file(::Rails.root.join('config', 'locales', 'en.yml'))
@permissions_list ||= yml['en']['permissions']

我试过了:

yml ||= YAML.load_file(::Rails.root.join('config', 'locales', 'I18n.locale'))

但没有运气

1 个答案:

答案 0 :(得分:1)

你不需要。

Rails会自动加载当前语言环境的文件。例如,如果语言环境为compareArrays,则会加载rails:

de

您可以通过更改config/locales/de.yml 从嵌套文件夹加载它。见Rails Internationalization (I18n) API

但是要回答你原来的问题,你可以在Ruby中构建一个动态字符串:

config.i18n.load_path