Компания может быть отправителем приглашения, а может быть получателем. Приглашение хранит в себе инфу об отправителе и о получателе (recipient_id и sender_id). Компания может иметь несколько отправленных приглашений и может иметь несколько приглашений от других компаний. Также компания может принять приглашение либо отклонить его, для этого в модели Invitation добавил confirm:boolean, теперь на форме пытаюсь отразить только те компании которые приняли приглашение, но никак не пойму как запросить только те компании что приняли приглашение? Как из join таблицы Invitation дергать только те записи у которых confirm:true
Invitation
belongs_to :recipient, class_name: 'Company', foreign_key: 'recipient_id'
belongs_to :sender, class_name: 'Company', foreign_key: 'sender_id'
Company
has_many :sent_invitations, class_name: 'Invitation', foreign_key: 'sender_id' — отправленные компанией приглашения
has_many :invitation_recipients, through: :sent_invitations, source: :recipient — получатели приглашений
has_many :incoming_invitations, class_name: 'Invitation', foreign_key: 'recipient_id' — полученные компанией приглашения
has_many :invitation_senders, through: :incoming_invitations, source: :sender — отправители приглашений