`
ywencn
  • 浏览: 86993 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

比较好的用户多角色控制,适用于用户角色不多的情况,最好5个以内

 
阅读更多

 named_scope :email_is, lambda { |email|{  :conditions => (["USERBBSEMAIL = ? ",email] unless email.blank?  )}}

 

好处是不用再添加一个表.


  ROLES = {
      '管理员' => 1,
      '审核员' => 2,
      '评分员' => 4
    }
   
    def reset_role
      self.roles = 0
    end

    def add_role role
      self.roles ^= role
    end
   
    def set_roles roles
      self.roles = 0
      roles && roles.each do |role|
        self.add_role role.to_i
      end
    end

    def has_role? role
      (self.roles & ROLES[role]) == ROLES[role]
    end
   
    def roles_for_show
      roles = []
      ROLES.each do |key,value|
        roles << key if self.has_role? key
      end
      roles.join(" ")
    end

分享到:
评论

相关推荐

    小学生100以内四则运算测试系统.rar

    在当前的信息时代,计算机编程已经不再是成年人的专利,越来越多的教育机构开始将编程引入儿童教育。《小学生100以内四则运算测试系统》就是一款专为小学生设计的教育软件,它利用了C语言的强大功能,为孩子们提供了...

    工业控制通讯基础

    其中,**串行通信**因其具有线路简单、成本低廉的特点而在工业控制中得到广泛应用,尤其是在远程通信场合下,串行通信能够有效避免多条线路间特性的不一致问题。 #### 二、RS-232-C接口详解 ##### 2.1 接口定义及...

    ASP.NET在线用户精确列表源代码

    ### ASP.NET在线用户精确列表实现方法详解 #### 引言 在互联网应用中,实时监控在线用户数量是一项关键功能,特别...总之,这是一种有效且实用的在线用户状态管理方法,尤其适用于需要高精度在线状态监控的应用场景。

    B端浅聊选择器.docx

    - **下拉单选框**:将单选框封装在下拉菜单中,适用于选项较多的情况。 - **下拉多选框**:提供一个多选版本的下拉菜单。 **2. 演变的选择器** - **级联选择器**:具有父子级关系的选择器,用户先选择父级项后...

    基于单片机的温度控制系统设计论文.docx

    - **实际应用测试**:在一个小空间内进行了实际应用测试,结果显示系统运行稳定,温度控制误差在±1℃以内,达到了预期目标。 - **性能评估**:从稳定性、控制精度和成本效益等方面对系统进行了全面评估,证明了其在...

    ORACLE基础操作

    - **特点**:适用于小型组织或个人的信息管理系统,通常数据量在100MB以内。 2. **中型数据库**:如MySQL、SQL Server、Informix等。 - **特点**:支持范围更广的应用场景,适合中小型企业,数据量可以从几百MB...

    有什么办法增加RS232传输距离?

    尽管RS232具有易于实现、成本低廉的优点,但其传输距离受限于15米以内,这在很多情况下无法满足实际需求。 #### 三、增加传输距离的方法 ##### 1. 使用RS232转RS485转换器 - **原理**:RS485采用了平衡差分传输...

    基于单片机的测温系统设计

    【基于单片机的测温系统设计】是一个典型的嵌入式系统项目,它结合了传感器技术、微控制器和数据处理等多个关键元素。该系统的主要目标是实现对环境温度的精确监测和控制,适用于多种应用场景,如生物培养液的温度...

    计量芯片ADE7755中文技术手册

    - **家庭自动化系统**:集成于智能家居系统中,帮助用户更好地管理家庭用电情况。 - **便携式设备**:由于其低功耗特性,也适用于电池供电的便携式电能测量设备。 综上所述,ADE7755作为一款高性能的电能计量芯片,...

    azbil G-O-MOTOR弹簧或无弹簧型活塞气缸执行机构 产品说明书.pdf

    在现代工业自动化领域,执行机构是实现远程控制、自动调节和顺序控制的重要设备,尤其在阀门控制中扮演着至关重要的角色。执行机构的种类繁多,其中包括气动执行机构、电动执行机构和液压执行机构等。本文所介绍的...

    计算机网络自顶向下方法答案

    相反,无连接服务则不提供握手机制,也不保证数据的可靠传输,以及不进行流控制和拥塞控制,适用于对实时性要求高的应用。 在物理传输方面,以太网是一种常见的局域网技术,其传输速率有多种标准,比如10Mbps、100...

    电气工程及其自动化无功补偿技术的实际应用.pdf

    无功补偿技术是电气工程及其自动化领域中至关重要的一个部分,它主要通过各种方式补偿供电系统中的无功功率,从而提高整个电力系统的功率因数,减少电能在传输过程中的损耗,保证供电效率,并改善供电质量。...

    浅谈GPS在交通运输中的应用.pdf

    此外,GPS还适用于特大桥梁的控制测量,可以构成强健的网形,提高测量点的精度,并能有效检查常规测量的准确性。 在隧道测量中,GPS的非视线特性使得测量过程更为快速高效。在道路勘察和设计阶段,差分动态GPS用于...

    编程开发-数据库类-msde数据库程序 v1.0.zip

    2. **单用户模式**:默认情况下,MSDE运行在单用户模式下,这使得它更适合于个人开发和测试环境,而不是多用户共享的生产环境。 3. **自动管理**:MSDE可以自动管理事务日志和数据库文件,简化了数据库维护。 4. **T...

    labview虚拟示波器归类.pdf

    对于20kHz以内的音频信号,48kHz提供了更好的频率覆盖,但不支持自定义采样频率可能导致非整周期采样问题。 3. **缓冲区**:声卡采用缓冲区技术来处理连续的A/D和D/A转换,以减少CPU的中断负担。当缓冲区满时,CPU...

    电机软启动器的工作原理

    5. **用户友好的操作界面**:软启动器配备有直观易用的键盘设置功能,用户可以根据实际负载情况轻松地对起停、运行和保护等参数进行设置和修改,大大提高了设备的灵活性和适应性。 #### 四、应用领域 电机软启动器...

    内网渗透讲义

    网络中可能有一个或多个域控制器。 #### 0x01 内网信息搜集 - **目标**: 收集关于当前受控机器的信息,了解其在网络中的角色(例如客服、开发人员、管理员等),以便进一步规划渗透测试策略。 - **本机信息搜集**...

    A3财务软件操作流程.doc

    新建账套时,需要输入5位以内的不重复数字作为账套号,例如1, 2, 3或001, 002, 003,并填写相应的账套名称,即公司的名字。数据库名称通常由软件自动生成,无需手动填写。对于数据备份,用户可以通过设置按钮设定...

    Wwqxav计算机网络技术试题及答案.pdf

    8. **CSMA/CD**:载波监听多路访问/冲突检测,是总线型局域网中数据传输的协议,适用于以太网。 9. **Windows NT2000系统**:微软的操作系统,其中所有用户默认属于“users”组,管理员用户名通常是“administrator...

    各种版本tomcat压缩包

    6. **安全管理**: Tomcat提供了用户认证和授权功能,通过配置context.xml和server.xml中的角色和用户,可以实现基本的安全控制。此外,还可以通过修改web.xml来设定Web应用的安全策略。 7. **性能优化**: 优化...

Global site tag (gtag.js) - Google Analytics