Hi all,

I try to implement an internal mail system to my rails app. I found this
message [1] on another mailing list, but i need it to be a little
different.

So here's the case : i got a user table, a message table, and a
communication table. This last one contains the message_id, the
sender_id and the receiver_id. I need it for some future improvment.

# user.rb


  has_many :communications, :dependent => :destroy
  has_many :sent_messages, :class_name => "Message", :through =>
:communications, :source => :sender, :order => 'created_at DESC'
  has_many :received_messages, :class_name => "Message", :foreign_key =>
"receiver_id", :order => 'created_at DESC'
  has_many :unread_messages, :class_name => "Message", :foreign_key =>
"receiver_id", :conditions => ['read_at IS NULL'], :order => 'created_at
DESC'

# communication.rb

  belongs_to :sender, :class_name => "User", :foreign_key => "sender_id"
  belongs_to :receiver, :class_name => "User", :foreign_key
=>"receiver_id"
  has_one :message

# message.rb

  belongs_to :communication

But when i try to get some_user.sent_message, it returns me this error :

ActiveRecord::StatementInvalid: PGError: ERROR:  column
communications.user_id does not exist
LINE 1: ...messages.id = communications.sender_id    WHERE
(("communica...
                                                             ^
: SELECT "messages".* FROM "messages"  INNER JOIN communications ON
messages.id = communications.sender_id    WHERE
(("communications".user_id = 1))  ORDER BY created_at DESC

Obviously, something went wrong and Rails try to get the
communications.user_id id place of communications.sender_id.

Any help would be appreciate. Thanks ;-)


---
[1]
http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/7fdccddde9b97ffc/6112294580b9e0ce?lnk=gst&q=internal+mail&rnum=1
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to