Rails 3,国际化(I18n) - 将数字转换为数值

时间:2011-06-01 14:13:24

标签: ruby-on-rails-3 internationalization

我有一个带有级别列的用户表。 level列是数字,值为0,1或2.

有没有得到国际化(I18n)API来转换数值,以便在英语0 = Foobar,1 = Foo,2 = Bar?然后用另一种语言0,1,2可以返回别的东西吗?

由于

1 个答案:

答案 0 :(得分:0)

我发现您可以通过在语言环境文件中添加以下内容来实现此目的:

en:
  user:
    level:
      '0': 'Admin'
      '1': 'Editor'
      '2': 'Contributer'

然后在视图中:

<%= f.select :level, (0..2).to_a.map { |level| [t(level, :scope => 'user.level'), level] } %>

可能有更好的方法,但这似乎对我有用!