首页 > 解决方案 > Rails 中的“Locales”字符串是否存在某种全局哈希?

问题描述

我们使用设计并拥有此文件config/locales/devise.en.yml。它包含字符串的 YAML 映射,例如:

en:
  devise:
    confirmations:
      confirmed: "Your account was successfully confirmed."

如果我想从应用程序中的某个任意位置访问这个“已确认”字符串,我该怎么做?

例如,类似于以下伪代码:

msg = Rails.locales.en.devise.confirmations.confirmed

我想我可以YAML.parse将地图存储在内存中,但我想知道 Rails 是否已经在某个地方这样做了。

标签: ruby-on-rails

解决方案


您可以使用I18n.t方法:

I18n.t('devise.confirmations.confirmed')

它可以作为视图中的助手使用,因此您可以使用:

t('devise.confirmations.confirmed')

推荐阅读