簡體   English   中英

使用CanCan和Rolify將特定的用戶角色添加到特定的模型實例

[英]Add specific user roles to a specific model instance using CanCan and Rolify

當我可能通過Rails應用程序工作時,我還有另一個問題。 該應用程序允許用戶通過Devise進行注冊。 這樣可行。 在該應用程序中,用戶可以創建自己的名為“圈子”的組。 這樣可行。 現在,我希望用戶能夠將其他用戶添加到他們的圈子中。 這行不通。

到目前為止,我已經實現了CanCan和Rolify。 我可以從用戶模型中為用戶分配角色,因此我知道設置工作正常。 我無法弄清楚一個用戶如何將另一個用戶添加到特定圈子。 我查看了SO,發現與我在這里想要做的事情很接近: Rails 3.1中的授權:CanCan,CanTango,declarative_authorization? ,但這不適用於我的情況。

我知道如何使用CanCan在應用程序級別添加角色。 我想做的是在特定的Circle實例中添加一個角色。 並非所有用戶都可以訪問圈子,只有添加的用戶可以訪問。

如果有人有任何想法,我願意采取其他方式來實現這一目標。 進行此設置的最佳方法是什么?

編輯

我想出了如何從Rails控制台執行此操作。 user.add_role :moderator, Circle.find(22)可以完美地工作並保存到數據庫。 如何通過視圖中的表單執行同一操作?

使用控制器...提交表單后,它將添加角色! 在控制器中,您可以僅使用類方法作為示例:)讓我知道是否需要更明確的說明! 干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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