我知道如何创建管理员角色/用户:
https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role
我想知道的是,在决定它们时,两个选项是否有任何优点或缺点.任何人都可以提供任何有关此的见解吗?
解决方法
让我稍稍混淆水.我更喜欢通过Role表和连接表UserRole.这样我就可以定义多个角色而无需向db添加另一个列/表.
class User has_many :user_roles has_many :roles,:through => :user_roles def role?(role) role_names.include? role end def role_names @role_names ||= self.roles.map(&:name) end def role=(role) self.roles << Role.find_or_create_by_name(role) end end class UserRole # integer: user_id,integer: role_id belongs_to :user belongs_to :role end class Role # string: name has_many :user_roles has_many :users,:through => :user_roles end