2010-11-30 68 views
0

我想在rails中设置白名单消息传递系统,用户可以选择他们想要发送评论的其他用户。该消息可以对每个人或只有一个人可见。我将如何设置它以及消息窗体将会是什么样子?Rails中的消息传递系统

回答

2

要么只添加连接表message_idrecipient_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

第二个窗体的外观如何?第一个你只需要创建一个accept_nested_attributes_for:收件人的权利?这是什么样子? – maletor 2010-12-01 20:15:08