在rails I18n中翻译选择选项

时间:2017-09-06 12:57:00

标签: ruby-on-rails ruby

如何在rails I18n中翻译以下代码

f.select :option,[["This is a Scam","Scam"],["This is a Spam","Spam"],["This is a bot","Bot"]]

1 个答案:

答案 0 :(得分:0)

试试这个:

config/locales/es.yml

es:
  helpers:
    model:
      select_attr:
        values:
          scam: 'estafa'
          spam: 'correo no deseado'
          bot: 'larva del moscardón'

config/locales/en.yml

en:
  helpers:
    model:
      select_attr:
        values:
          scam: 'Scam'
          spam: 'Spam'
          bot: 'Bot'

并将select helper修改为

= f.select :option, [
                     [I18n.t("helpers.model.select_attr.values.scam", 'Scam')], 
                     [I18n.t("helpers.model.select_attr.values.spam", 'Spam')], 
                     [I18n.t("helpers.model.select_attr.values.bot", 'Bot')]
                    ]

Rails根据您选择的区域设置(enes)设置选项值,如上例所示。

选项内部数组的第一个属性是label,将向用户显示。第二个 - 是一个选项value,它将保存到数据库字段option

您可以在ActionView::Helpers::FormOptionsHelper文档页面上阅读更多信息。