【问题标题】:Add groups to CanCan in rails在 Rails 中将组添加到 CanCan
【发布时间】:2012-11-30 23:04:31
【问题描述】:

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

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

【问题讨论】:

  • 您说的是群主只更改群成员,还是这些群也是特权群?

标签: ruby-on-rails devise cancan


【解决方案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

【讨论】:

    猜你喜欢
    • 2011-11-28
    • 2013-01-02
    • 2013-04-17
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多