如何基于类似于stackoverflow的点实现角色系统

时间:2011-12-19 18:48:27

标签: ruby-on-rails ruby-on-rails-3 cancan

我目前正在rails3中构建一个应用程序,您可以在这里为各种事情提供积分,并且我希望实现一个系统,例如stackoverflow,您可以获得更多的管理权限。

那么在rails中实现这样一个系统的最佳方法是什么?我希望防止它过于复杂。您是否只有很多角色并继续添加从用户删除它们?或者我应该只比较一个用户有多少积分,他们需要做多少积分。关于第二个选项的好处是我可以生成错误消息,如果他们尝试用足够的点做某事。

我在考虑使用CanCan,但我愿意接受建议。我刚刚发现CanTango似乎很有趣。它只是extends CanCan

1 个答案:

答案 0 :(得分:0)

按照你的第一个建议做。这样,您就可以将角色与点分离,这样您就可以在需要时更轻松地调整角色。

此外,还有潜在的性能优势,因为您只查找用户拥有的角色。通过基于积分的链接,您可能会遇到性能问题,具体取决于您存储获得/扣除的积分的方式。