【发布时间】:2013-01-16 21:51:00
【问题描述】:
由于我可能通过 Rails 应用程序工作,所以我还有一个问题。该应用程序允许用户通过 Devise 进行注册。这样可行。在应用程序中,用户可以创建自己的名为 Circles 的组。这样可行。现在我希望用户能够将其他用户添加到他们的圈子。这不起作用。
到目前为止,我已经实现了 CanCan 和 Rolify。我可以从 User 模型为用户分配角色,所以我知道设置工作正常。我无法弄清楚用户如何将另一个用户添加到特定的圈子。我查看了 SO 并找到了与我想在这里做的事情接近的事情:Authorization in Rails 3.1 : CanCan, CanTango, declarative_authorization?,但这不适用于我的情况。
我知道如何使用 CanCan 在应用程序级别添加角色。我想要做的是在特定的 Circle 实例中添加一个角色。并非所有用户都可以访问圈子,只有那些被添加的用户。
如果有人有任何想法,我愿意接受其他方式来实现这一点。最好的设置方法是什么?
编辑
我想出了如何从 rails 控制台执行此操作。 user.add_role :moderator, Circle.find(22) 这完美地工作并保存到数据库中。我怎样才能通过视图中的表单来做同样的事情?
【问题讨论】:
标签: ruby-on-rails devise cancan