当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – rails:devise,cancan,rolify以获取用户的角色名称

来源:互联网 收集:自由互联 发布时间:2021-06-23
我可以很容易地测试用户是否具有某个角色 if user.has_role? :admin 如何获取用户的角色名称? 就像是 users = User.alluser.each{ |user| puts user.role or users.role_name ?} 用户模型 class User ActiveRecord::B
我可以很容易地测试用户是否具有某个角色

if user.has_role? :admin

如何获取用户的角色名称?
就像是

users = User.all
user.each{ |user|
  puts user.role or users.role_name  ?
}

用户模型

class User < ActiveRecord::Base
  rolify
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me ,:username,:first_name,:last_name
  # attr_accessible :title, :body
end

榜样

class Role < ActiveRecord::Base
  has_and_belongs_to_many :users, :join_table => :users_roles
  belongs_to :resource, :polymorphic => true
  attr_accessible :name,:id
  scopify
end
您可以使用

user.roles.first.name
网友评论