【发布时间】:2011-06-01 14:13:24
【问题描述】:
我有一个带有级别列的用户表。级别列是数字,值为 0、1 或 2。
有没有办法让国际化 (I18n) API 转换数值,以便在英语中 0 = Foobar、1 = Foo、2 = Bar?那么用另一种语言 0,1,2 可以返回别的东西吗?
谢谢
【问题讨论】:
标签: ruby-on-rails-3 internationalization
我有一个带有级别列的用户表。级别列是数字,值为 0、1 或 2。
有没有办法让国际化 (I18n) API 转换数值,以便在英语中 0 = Foobar、1 = Foo、2 = Bar?那么用另一种语言 0,1,2 可以返回别的东西吗?
谢谢
【问题讨论】:
标签: ruby-on-rails-3 internationalization
我发现您可以通过在您的语言环境文件中添加以下内容来做到这一点:
en:
user:
level:
'0': 'Admin'
'1': 'Editor'
'2': 'Contributer'
然后在一个视图中:
<%= f.select :level, (0..2).to_a.map { |level| [t(level, :scope => 'user.level'), level] } %>
可能有更好的方法,但这似乎对我很有效!
【讨论】: