2011-07-10 49 views
3

我现在有一个测试版的rails 3应用程序,它使用Devise进行用户身份验证,并且需要一些建议。我想添加一个具有一些额外功能的管理员用户,但我将是唯一的管理员用户(或管理员用户可以通过终端创建 - 即人们无法注册成为管理员用户)。所有普通用户都具有相同的能力。我正准备使用康康来分离基于用户角色的功能。然后,我想到使用康康可能只是矫枉过正。是否有意义,而不是创建一个不同的用户类?我是否通过这样做了任何事情?Rails 3建议:创建新的Admin User类或使用CanCan?

我可以预见,如果这个应用程序成功,可能会有不同的用户角色(免费与付费帐户等)。即使在这种情况下,通过设计没有管理员用户是否有意义?思考?

谢谢!

回答

2

如果你只有两种类型(用户和管理员),看起来很好,有两个类。它可能比完整的角色系统更容易实施。但是,如果可以预见未来你会获得更多的角色,那么最好打下坚实的基础并从一开始就使用角色系统。

+0

谢谢。我只是想确保我在正确的道路上:)。现在找到使用哪个实现!我会在这个上做一些试验和错误,看看哪个最适合我的问题。 – panzhuli

2

如果您是唯一的管理员,我会在您的用户模型中创建一个名为Admin的字段,然后当您要添加仅适用于您的功能时,请使用admin?检查你的代码。

对于我的大部分项目,我一直在使用Devise,然后使用它们的Admin Role Wiki中的选项2,这非常容易实现。

+0

你知道,我想我可能会这样。实际上两种方式。使用cancan管理用户类型,并通过设计管理该管理员完全独立的角色 – panzhuli