Rails 4 Active Record Enums are great, but what is the right pattern for translating with i18n?
To keep the internationalization similar as any other attribute I followed the nested attribute way as you can see here.
If you have a class User
:
class User < ActiveRecord::Base
enum role: [ :teacher, :coordinator ]
end
And a yml
like this:
pt-BR:
activerecord:
attributes:
user/role: # You need to nest the values under model_name/attribute_name
coordinator: Coordenador
teacher: Professor
You can use:
User.human_attribute_name("role.#{@user.role}")