Либо добавьте таблицу соединений только с message_id
и recipient_id
.
class Message
has_and_belongs_to_many :recipients
end
class Recipient
has_and_belongs_to_many :messages
end
m = Message.new
m.recipients = list_of_recipients
m.save
Параметр дублирует сообщение для каждого получателя.Это отличное решение, если каждый получатель имеет полный контроль над входящими сообщениями (например, удалить сообщение).
class Message
belongs_to :recipient
def self.post_message(recipients, text)
recipients.each { |r| Message.create(:recipient => r, :text => text) }
end
end
class Recipient
has_many :messages
end