所以我试图在我的应用程序中实现一个消息系统,我无意使用任何 gem。我见过其中的大多数,并且我能够使用它们。但是为了学习,我想了解它是如何工作的,并从头开始构建一个,并且能够按照我的意愿定制它。
我四处寻找教程,但没有任何教程或任何具体信息,除了;这个 -> http://.novawave.net/public/rails_messaging_tutorial.html,但不幸的是链接已关闭或这个 -> Rails 线程私人消息传递,但我仍然无法解决所有问题。
所以希望这个帖子可以作为其他人的参考。
所以基于这个线程 Rails 线程私人消息传递,这就是我所拥有的,包括列定义。但是我在思考在对话中添加多个用户的逻辑时遇到了问题。我看到这个的方式:
- 点击发送消息,将触发一个新的对话对象
- 添加一个主题,然后选择我想要在对话中使用的用户 <-- 这就是阴天的地方
- 在没有任何ajax的相同表单的底部,我想我可以呈现将提交文本的消息表单?
好的,那么如何在会话表 users_id 列中放置多个用户 ID?有一个建议在这个线程中使用'act_as_taggable' gem -> Rails 线程私人消息传递进来了吗?如果是这样,数据库将如何知道它应该在某个会话对象中选择所有这些用户。
class Conversation < ActiveRecord::Base
#columns -> :subject, :users_id
has_many :messages
has_many :participants
has_many :users, :through => :participants
end
class Message < ActiveRecord::Base
#columns -> :conversation_id, :sender_id, :read
belongs_to :conversation
end
class Participant < ActiveRecord::Base
#columns -> :user_id, :conversation_id
belongs_to :conversation
belongs_to :user
end
class User < ActiveRecord::Base
has_many :conversations
has_many :participants
end