簡體   English   中英

Rails可以為特定用戶定義功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM