[英]rails cancan define ability for specific user
我的應用程序中有表用戶和主題。 創建主題的用戶具有完整的功能,並且該用戶可以將權限授予其他用戶訪問或編輯。 如何在cancan中實現此結構。 我想要類似的東西
can? :edit, @topic
can :edit, Topic do |topic|
//get object @topic i pass above, and check current user has ability to edit this topic
end
我考慮使用topic_id和user_id創建新的表名稱topic_share。 主題和用戶之間的多對多關系。 我不知道如何在康康舞中實現它。
如果您在主題表上有某種creator_id
,則可以使用cancan進行以下操作(假設您的能力圍繞用戶記錄,並且creator_id是創建主題的用戶的ID,並且主題topic_to用戶)
can :edit, Topic, creator_id: user.id
我知道這不是一個直接的答案,但是您可能想看看我創建的這個gem: https : //github.com/intrepidd/rails-canhaz
它允許輕松地在任何模型之間創建權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.