2010-08-15 185 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