0

我有 3 个基本模型:用户、权限和一个名为 UserPermissions 的关联模型,因此用户has_many :permissions, through :user_permissions

我的用户权限表包含 user_id、permission_id 以及作为位掩码的权限属性。现在,当我向用户查询他的权限时,我会执行以下操作:

@permissions = user.permissions

我得到了该给定用户的相关权限的一个很好的集合。我想做的是将特权字段添加到结果中,而不是这个结果

{
  "id": 1,
  "name": "User permissions",
  "short_name": "user_permissions"
}

我需要这样的东西:

{
  "id": 1,
  "name": "User permissions",
  "short_name": "user_permissions",
  "privilege": "..whatever the bitmask converts to"
}

我希望我说得通。有任何想法吗?

4

1 回答 1

0

您可以只向权限类添加一个方法来组成您的哈希。就像是

class Permission
    ....

    def attributes_with_privilege
        attributes.merge( 'privilege': user_permission.privilege )
    end

   ...
end
于 2012-06-19T08:38:09.757 回答