我已经搜索了几天,试图找出是否有其他人问过或回答过这个问题,但我没有任何运气。这也是我就堆叠溢出问题提出的第一个问题。
我在找人指引我走向正确的方向。
我有设计了设置,并与两种型号的 -- Admin和User一起完美地运行。
我需要有管理员创建一个研讨会或课程和用户注册或注册的研讨会。我不知道是否应该尝试一个has_many_and_belongs_to_many或has_many : try,或者是否有一些事件注册创业板可以更好地解决这个问题。
任何指示都将不胜感激。
发布于 2011-09-11 13:13:36
有很多种方法可以解决这个问题。不过,您不需要创建两个设计模型来实现这一点。您只需拥有一个用户模型,并将其一个角色属性作为字符串,将此默认设置为一些已知的角色--比如“访问者”。
然后,您可以考虑安装一个简单的ACL,例如Cancan或decl_auth。
这将允许您控制对各种控制器CRUD操作的访问--这就是“authorise_resource”(毕竟是RESTful )的意思--当然,在这样的设置中,管理员可以看到比普通用户更多的选项。
“老”学校的方法是设置一个namespace :admin,它将在您的应用程序中在/admin/下处理。不过,您仍然可以让管理员和用户通过您在devise中设置的通用登录路径登录。
然而,为Admin和用户划分设计模型有一个好处--他们的会话将是完全独立的,有些人可能会认为这是“更安全的”。会话劫持仍然不是通过单一模型+角色方法实现的。
https://stackoverflow.com/questions/7378390
复制相似问题