Используйте два отдельных внешних ключа с соотнесенными именами belongs_to
, чтобы различать отправителей и получателей.
Учитывая модель сообщения с внешними ключами sender_id
и receiver_id
, вы можете сделать:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => "User", :foreign_key => "sender_id"
belongs_to :receiver, :class_name => "User", :foreign_key => "receiver_id"
end
Теперь вы сможете ссылаться на отправителя сообщения, используя message.sender
, а получателя - message.receiver
.