【发布时间】:2016-04-19 14:25:42
【问题描述】:
在我的应用程序中,我有一个名为 Profile 的模型,其中包含人员的个人资料信息。我还有一个用户模型,一些用户管理网站上的内容,他们的权限是使用 Cancan gem 管理的。每个用户都有一个配置文件,但有许多配置文件与用户无关。假设我有两类用户,大量可以管理内容的“编辑”和一些可以做任何事情的“管理员”。我想让编辑者可以管理(创建、编辑和删除)配置文件除非该配置文件属于另一个用户。我怎么能用康康做到这一点?
我知道如何限制用户的能力,比如
can :manage, Profile, :user_id => user.id
但我想要一个逻辑条件,例如“可以管理个人资料,除非该个人资料与用户相关联并且该用户不是当前用户”。
【问题讨论】:
标签: ruby-on-rails cancan