如何使用ruby模型正确建模这项业务

时间:2014-03-12 00:40:28

标签: ruby-on-rails activerecord

我试图弄清楚如何正确建模我想要构建的应用。该应用程序是一个客户服务沟通工具。客户服务代表将与他/她进行通信的多个客户进行通信,但客户只会与一位客户服务代表进行通信。

有用户(客户服务代表),客户和用户has_many客户以及客户所属的用户。

所以,我还需要一个Message模型。 Message模型应该有user_id,customer_id,message_text,sent_from(用户或客户)和sent_to(用户或客户)。

因此,用户has_many:消息和客户has_many:消息。并且消息属于用户和客户。但是,我不确定我是否需要一个has_many:通过关联(让他们说对话)。我目前的设置是否允许我需要的一切?或者我是否需要另一个模型来封装整个对话?

1 个答案:

答案 0 :(得分:0)

如果用户和客户之间的对话只是一个消息线程,那么您不需要对话模型。但是,如果它是多线程(想想Gmail风格),那么你有两个选择:

  1. 添加会话模型
  2. 介绍消息之间的父/子关系