加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:29:53 所属栏目:百科 来源:网络整理
导读:我可以很容易地测试用户是否具有某个角色 if user.has_role? :admin 如何获取用户的角色名称? 就像是 users = User.alluser.each{ |user| puts user.role or users.role_name ?} 用户模型 class User ActiveRecord::Base rolify # Include default devise m
我可以很容易地测试用户是否具有某个角色

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读