在我的rails应用程序中,我的用户通过参与者拥有许多项目。
目前我正在使用CanCan进行授权。我做了一些研究,无法弄清楚如何做到以下几点。
在我的ability.rb文件中,我想提供:管理项目用户的能力。目前看起来像:
can :manage, Project if user.has_role? :silver
我的参与者表包含user_id和project_id。我如何仅通过参与者表格向与项目关联的用户提供这些管理功能?
答案 0 :(得分:0)
我目前正在使用以下解决方案。我更喜欢使用原生设计或cancan的解决方案。
在模型中。
def is_participant?(participant)
self.participants.exists?(:project_id => participant)
end
在我看来。
<% if current_user.is_participant?(@project.id) %>