1

モジュールで定義されたロールを持つ User モデルがあります。要するに、

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

そして翻訳:管理者

しかし、それは解決策のようには見えませんgood

それを行う方法は何bestですか?

4

1 に答える 1

1

2ヶ月後アンンド!:D

私の問題を正確に解決する宝石があります。 列挙します。

使用例 (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"
于 2013-05-29T19:23:45.433 に答える