1

在我的 rails 应用程序中,我的用户通过参与者有许多项目。

目前我正在使用 CanCan 进行授权。我已经做了一些研究,但不能完全弄清楚如何做以下事情。

在我的ability.rb 文件中,我想向项目中的用户提供:管理能力。目前看起来像:

can :manage, Project if user.has_role? :silver

我的 Participants 表有 user_id 和 project_id。如何仅将这些管理功能提供给通过参与者表与项目关联的用户?

4

1 回答 1

0

我目前正在使用以下解决方案。我更喜欢使用原生解决方案来设计或 cancan。

在模型中。

def is_participant?(participant)
  self.participants.exists?(:project_id => participant)
end

在我看来。

<% if current_user.is_participant?(@project.id) %>
于 2012-12-26T23:09:50.577 回答