首页 > 解决方案 > 如何使用 1 个帖子模型处理多个设计用户模型

问题描述

我需要一些关于使用 Rails 作为编程新手构建网站的建议

我自己学习 Rails 大约 2 个月,现在我想建立一个网站,将个人顾问与个人客户联系起来。

我的第一个问题是我将使用 Devise 创建 3 个用户模型(一个用于客户,一个用于顾问,一个用于管理员),主要条件如下:

  1. 只有用户可以发布问题。
  2. 只有发帖用户和顾问可以对问题发表评论。
  3. 只有用户或管理员可以更改问题的状态(如已解决或未解决)

这是因为顾问模式需要提供比客户更多的信息(不仅是信息,而且我希望顾问在成为我平台上的专业人士之前通过提交证书等来验证自己)。有什么宝石可以处理这个吗?或者这最好通过 STI 仅使用 1 个用户模型来实现?

实际上,我最后真正想做的事情会更复杂(而且我现在仍然不知道如何创建它),我现在想知道的是如何处理 3 个不同的模型与只有 1 个发布模型(尤其是外键),因为我习惯于为 1 个发布模型创建 1 个用户模型(并添加布尔值以进行进一步管理)。

另外,如果我想实现应用内聊天功能,顾问和客户之间的私聊可以用行动线吗?或者我应该为他们之间的私聊做一个新的模型,或者你有什么?宝石推荐?

感谢任何评论。

标签: ruby-on-rails

解决方案


我将使用 STI 来避免 [https://stackoverflow.com/questions/9472852/devise-and-multiple-user-models?rq=1][1] 中提供的任何并发症。


推荐阅读