2010-08-15 97 views
0

我正在尝试制作一个私人消息系统,您将消息发送给一个或多个用户。现在信息架构就像是Rails协会

USER_ID,to_id,味精

如何使协会,这样我可以得到发件人和收件人的详细信息?

回答

0

模式:

SENDER_ID recipient_id

class Message 
    belongs_to :sender, :class_name => 'User' 
    belongs_to :recipient, :class_name => 'User' 
end 


class User 
    has_many :sent_messages, :class_name => 'Message', :foreign_key => :sender_id 
    has_many :income_messages, :class_name => 'Message', :foreign_key => :recipient_id 
end 
+0

我已经做smthng相似,但我不能得到用户的属性值。 我用味精= Message.find(:所有) <%= msg.sender.name%> 和它说,未定义的方法'name'为零:NilClass – Amit 2010-08-15 09:15:36

+0

NVM,我得到它的工作,不得不将foreign_key添加到Message类也是如此 class Message belongs_to:sender,:class_name =>'User',:foreign_id =>:sent_by belongs_to:recipient,:class_name =>'User',:foreign_id => :sent_to end – Amit 2010-08-15 09:22:22

+0

你能显示代码吗? – fantactuka 2010-08-15 09:22:31