我正在开发一个工作门户网站。我对如何创建和管理用户感到困惑。例如:我的应用程序中将有3种类型的用户(稍后可能会扩展):公司、顾问和候选人。他们每个人都将拥有完全不同的角色和对管理(即帐户)面板/控制台的访问权限,或者您可以说他们将拥有完全不同的帐户管理 View 。因此,如果用户使用公司帐户登录,他/她应该能够创建工作并更新公司资料,如果用户作为顾问登录,那么他/她应该能够代表其他公司(谁可能会或可能不会在网站/应用程序上注册),并且还应该能够浏览/搜索公司的职位,并且应该能够在候选人(可能会或可能不会注册)上发布候选人的申请(即申请工作)但在网站/应用程序上)代表。而且,如果用户以候选人身份登录,那么他/她应该能够创建自己的简历、搜索职位以及申请公司发布的职位。
这就是我的想法:创建一个用户模型,然后为公司、咨询和候选人使用 STI(单表继承)。但是,性传播感染迟早会变得复杂。后来,我想到为每个模型创建不同的模型,但随后将重复登录/注册和其他类似事件的代码,这意味着没有 DRY。
我想遵循尽可能最好的方法。那么,想知道专家将如何解决这种情况呢?谢谢。
最佳答案
一些建议:
- 查看 CanCan gem 了解用户角色。
看看设计一个登录系统,您可以在其中登录用户。
您可以使用事件管理 gem 创建管理后端(crud、create、remove、update、delete)用户。或者自己构建一个管理后端
还可以访问railscasts.com(还有康康舞和devise 上的类型转换!),了解一般的Ruby on Rails 提示和技巧。 http://railscasts.com/episodes/192-authorization-with-cancan
- 查看“micheal Hartl ruby on Rails 类(class)”,了解对模型、 Controller 和 View 如何相互关联的一般了解。
关于ruby-on-rails - 如何创建和管理用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19511879/