Rails:如何使用rolify创建角色组

时间:2016-12-09 09:16:56

标签: ruby-on-rails rolify

我是rolaling的新手。我试着和Cancancan一起使用 现在,如果我想授予用户创建和更新权限,我需要add_role两次。

user.add_role :moderator, Forum
user.add_role :creator, Forum

这里的问题是一个角色只能拥有一个权限, 我想添加这样的角色,user.add_role :creator,moderator, Forum

如果这不可行,我想构建role_groups,用户可以有多个role_groups,一个role_group可以有多个角色

1 个答案:

答案 0 :(得分:0)

Rolify只会创建角色。但是要为他们分配能力或能力,如创造或温和,你可以使用cancan gem。在cancan中有一个名为ability的文件。您可以在哪里分配不同角色的能力。我在下面给出了一个例子。

if user.has_role? :moderator
      can :manage, [
          News,
          Event,
          Headline,
          Blog,
          Testimonial,
          CourseList,
          Chat,
          ComplaintType,
          Complaint,
          Download,
          Faculty,
          Gallery,
          Headline,
          Infrastructure,
          Leed,
          Notice,
          Press,
          Profile,
          Query,
          User,
          Newspaper
      ]
    end

    can :read, [
        Blog,
        Download,
        Event,
        Faculty,
        Gallery,
        Headline,
        Infrastructure,
        Press,
        Testimonial,
        CourseList
    ]
    can :create, [
        Leed,
        Query
    ]