0

我是 Ruby on Rails 的新手。我正在使用设计和 CanCan。我想创建用户组,以便他们在一个组中并能够拥有一个组长。组长只能从该组添加/编辑/删除用户。

我已经关注了http://edapx.com/2012/04/18/authorization-and-user-management-in-rails/我现在不知道如何创建组。可以在 CanCan 中做到这一点吗?

4

1 回答 1

1

看看这个答案是否可以帮助你:https ://stackoverflow.com/a/13747645/367611

基本上,你会有这样的东西:

class Ability
  include CanCan::Ability

  initialize(user)
    can :manage, User, groups: {id: user.led_group_ids}
    can :manage, Group, id: user.led_group_ids
  end
end

然后在您的用户模型中,如下所示:

class User < ActiveRecord::Base

  has_many :groups

  def led_groups
    @led_groups ||= groups.where(leader: true)
  end

  def led_group_ids
    @led_group_ids ||= led_groups.collect(&:id)
  end
end
于 2012-12-13T05:22:08.103 回答