Rails可以用has_many:通过模型案例来回答问题



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

目前我正在使用CanCan进行授权。我做了一些研究,但不太清楚如何做到以下几点。

在我的能力范围内。我要提供的rb文件:管理项目上的用户的能力。现在看起来像:
can :manage, Project if user.has_role? :silver

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

我目前使用以下作为解决方案。我更喜欢使用本地设计或cancan的解决方案。

在模型中。

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

在我看来。

<% if current_user.is_participant?(@project.id) %>

最新更新