Система обмена сообщениями в Rails - PullRequest
0 голосов
/ 30 ноября 2010

Я хочу настроить систему сообщений белого списка в рельсах, где пользователи могут выбирать, каким другим пользователям они хотят отправить комментарий. Сообщение может быть видно каждому или только одному человеку. Как бы я это настроил и как бы выглядела форма сообщения?

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

Либо добавьте таблицу соединений только с 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
0 голосов
/ 01 декабря 2010

Вы также можете взглянуть на плагин acts_as_messageable . Это немного устарело, но это решает ваши проблемы.

...