我有一个用户模型,它具有在模块中定义的角色。简而言之,
class User < ActiveRecord::Base
(...)
module Roles
Admin = 0
SuperPrefeitura = 1
Prefeitura = 2
Instituicao = 3
end
def is_admin?
role == Roles::Admin
end
(...)
end
尼斯。现在,我想使用i18n显示用户的角色。 解决方案是
def role_name
case role
when Roles::Admin
:admin
end
(...)
end
并翻译:admin
但它看起来不像是good
解决方案。
best
这样做的方式是什么?
答案 0 :(得分:1)
两个月后出发! :d
有一颗宝石可以解决我的问题。 enumerize
示例用法(来自github):
型号:
class User < ActiveRecord::Base
extend Enumerize
enumerize :sex, in: [:male, :female]
enumerize :role, in: [:user, :admin], default: :user
end
语言环境:
en:
enumerize:
user:
sex:
male: "Male"
female: "Female"