i18n与Enumerize gem

Ber*_*lin 6 ruby ruby-on-rails simple-form rails-i18n

我正在使用Enumerize gem https://github.com/brainspec/enumerize/ 它允许我使用siple形式的美丽选择.此选择中的所有选项都已翻译.

en:
  enumerize:
    user:
      sex:
        male: 'Man'
        female: 'Woman'
Run Code Online (Sandbox Code Playgroud)

所以,在我的形式中,我选择了变体'Man'和'Woman'.当我用'Man'值保存记录时,我会得到具有'male'值的性别属性.现在我想在显示页面上将此值显示为"Man",但是

= @user.sex
Run Code Online (Sandbox Code Playgroud)

输出为"男性"而不是"男性"

mlk*_*kmt 12

我可能会使用这个.text方法(你可以通过使用bundle open enumerize和遍历代码在Gem中看到它)

= @user.sex.text
Run Code Online (Sandbox Code Playgroud)

您还可以使用完整的翻译键

= t("activerecord.enumerize.user.sex.#{@user.sex}")
Run Code Online (Sandbox Code Playgroud)