如何为Rails 4.1枚举编写i18n字符串?

时间:2014-04-09 13:51:17

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.1

例如,编辑config / locales / en.yml

en:
  activerecord:
    models:
      user: User
    attributes:
      user:
        name: Name

你可以

User.model_name.human # => User

User.human_attribute_name('name') # => Name

但是如何编写Rails 4.1 Enums I18n值?

2 个答案:

答案 0 :(得分:2)

试试enum_help宝石。从其描述:

  

帮助ActiveRecord :: Enum功能与I18n和simple_form一起正常工作。

答案 1 :(得分:1)

我也没有找到任何特定的模式,所以我只是添加:

en:
  user_status:
    active:   Active
    pending:  Pending...
    archived: Archived

到任意.yml文件。然后在我看来:

I18n.t :"user_status.#{user.status}"

比照https://stackoverflow.com/a/23104850/797639