Ruby on rails 与额外立柱轨道的多对多关系

Ruby on rails 与额外立柱轨道的多对多关系,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我有两个玩家参与一个活动,他们在这段时间内交换消息,因为许多玩家与其他玩家一起参与许多活动,我开始开发消息存档功能,我在设计上遇到一些问题,因为我想对每个活动进行存档 在我的消息模型中,每条消息都有一个activity\u id字段 我的用户模型: has_many :sent_messages, :foreign_key => 'sender_id', :class_name => Message has_many :received_messages, :foreign_key

我有两个玩家参与一个活动,他们在这段时间内交换消息,因为许多玩家与其他玩家一起参与许多活动,我开始开发消息存档功能,我在设计上遇到一些问题,因为我想对每个活动进行存档

在我的消息模型中,每条消息都有一个
activity\u id
字段

我的用户模型:

has_many :sent_messages, :foreign_key => 'sender_id', :class_name => Message
has_many :received_messages, :foreign_key => 'receiver_id', :class_name => Message
我的邮件:

  belongs_to :user, :class_name => User
  belongs_to :message, :class_name => Message
  attr_accessible :activity_id
我刚刚添加了一个,试图将其添加到我的模型中:

has_many :activity_archived_messages, :through => :archived_messages, :source => :message
这是我一直在努力的一部分,因为如果收到和发送的消息属于同一个活动,我想归档它们


如何做到这一点?

您可以向模型中添加一个
活动,然后将其存档:

class Activity < ActiveRecord::Base
  has_and_belongs_to_many :messages
  has_and_belongs_to_many :participants, class_name: User
end
类活动
现在,您可以将其存档,并将所有相关消息(双向)保存在存档中